前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何通过评论、点赞等行为信息进行数据挖掘?

如何通过评论、点赞等行为信息进行数据挖掘?

作者头像
机器学习AI算法工程
发布2018-03-14 17:26:12
发布2018-03-14 17:26:12
1.9K2
举报

用户对产品有很多行为,如何进行用户行为分析来量化用户对产品的喜好程度呢?

比如豆瓣FM,用户可以点击“喜好”和"扔进垃圾箱"等;比如优酷视频,用户可以顶,踩,分享等。、

我们如何通过这些行为信息分析用户对这首歌的喜好程度,对这个视频的评分是多少。

下面实例分析用户对视频的喜好程度。说到视频,我们可以联想到各种用户行为,看了多久,是否评论,是顶是踩,是否分享?

我们可以通过这些指标来评估用户对该视频的打分。比如用户看了多久打多少分,分享了打多少分等。还有就是不同的行为也反映了不同程度的喜好。

我们可以通过一条简单的公司来评估打分,score=w1*x1+w2*x2.......

x1,x2等是行为指标,w1,w2等是行为权重。

行为指标:比如用户点了赞,给1分,分享了,给2分。通常这里需要做归一化处理,把分数压缩到一个合理范围。

(PS:这里相当于领域专家打分,不知道是否通过建模的方法,有待探讨)。

行为权重:不同的行为,反映了用户的不同喜好程度,比如分享了比顶赞更重要。面对众多指标,如何合理地确定各权重呢?

这里通过层次分析法来确定各行为指标的权重。

构造成对比较矩阵

播放时长

播放时长/视频时长

评论

下载

收藏

分享

播放时长

1

1/3

1

1/3

1/5

1/5

播放时长/视频时长

3

1

1

1

1

1/2

评论

1

1

1

1/3

1/2

1/5

下载

3

1

3

1

1

1/2

收藏

5

1

2

1

1

1/2

分享

5

2

5

2

2

1

比如第四行第一列的数字3,表示“下载”比“播放时长”稍重要。

标度

含义

1

表示两个元素相比,具有同样重要性

3

表示两个元素相比,前者比后者稍重要

5

表示两个元素相比,前者比后者明显重要

7

表示两个元素相比,前者比后者强烈重要

9

表示两个元素相比,前者比后者极端重要

2,4,6,8

表示上述相邻判断的中间值

倒数

若元素与的重要性之比为,那么元素与元素重要性之比为

列进行归一化

[[ 0.05555556 0.0521327 0.07692308 0.05830389 0.03508772 0.06896552]

[0.16666667 0.15797788 0.07692308 0.17667845 0.1754386 0.17241379]

[0.05555556 0.15797788 0.07692308 0.05830389 0.0877193 0.06896552]

[0.16666667 0.15797788 0.23076923 0.17667845 0.1754386 0.17241379]

[0.27777778 0.15797788 0.15384615 0.17667845 0.1754386 0.17241379]

[0.27777778 0.31595577 0.38461538 0.35335689 0.35087719 0.34482759]]

行求和

[ 0.34696846 0.92609846 0.50544522 1.07994462 1.11413265 2.0274106 ]

再归一化:

[ 0.05782808 0.15434974 0.08424087 0.17999077 0.18568877 0.33790177]

播放时长

播放时长/视频时长

评论

下载

收藏

分享

0.05782808

0.15434974

0.08424087

0.17999077

0.18568877

0.33790177

就得到了个指标的权重

对于各项指标的得分,也要进行归一化处理,比如把分数限定在0-1.

假如一个用户对一个视频的各指标得分是

播放时长

播放时长/视频时长

评论

下载

收藏

分享

0.9

0.8

1

0

0

0

则将得分进行加权求和(或者平均),得到该用户对该视频的评分。

作一致性检验

从理论上分析得到:如果A是完全一致的成对比较矩阵,应该有

但实际上在构造成对比较矩阵时要求满足上述众多等式是不可能的。因此退而要求成对比较矩阵有一定的一致性,即可以允许成对比较矩阵存在一定程度的不一致性。

由分析可知,对完全一致的成对比较矩阵,其绝对值最大的特征值等于该矩阵的维数。对成对比较矩阵 的一致性要求,转化为要求: 矩阵的绝对值最大的特征值和该矩阵的维数相差不大。

Python代码实现

  1. import numpy as np
  2. import numpy.linalg as nplg
  3. da = np.loadtxt("data.csv")
  4. sum= np.sum(da,axis=0)
  5. col_arv = da/sum
  6. w = np.sum(col_arv,axis=1)
  7. w_n = w/np.sum(w)
  8. print w_n
  9. print np.max(nplg.eig(da)[0])

输出是:

[ 0.05782808 0.15434974 0.08424087 0.17999077 0.18568877 0.33790177] (6.16381602081+0j)

其中,第一行就是权重了,第二行就是最大特征值。显然,矩阵的维数是6,跟最大特征值差不多,合理。

http://blog.csdn.net/lingerlanlan/article/details/419173

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作一致性检验
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档