background image
实时协同推荐 :分类推荐 & 协同计算
分类推荐
通过上篇文章,可以通过训练出来的分类器,对所有用户进行分类,具体能分几个类,我们不知
道,我们的目标只是越细越好,因为这是采用聚类的思想.
将用户分类有,比如如下
三丰
A 类
四路
B 类
一忍
C 类
二逼
A 类
五发
B 类
.
.
.
分类后,接下来要做的就是计算每个分类的推荐类表(强调下有多少个分类不定)
计算的方式有很多种,笔者就列举常用的两种,以分类 A 为例子
1.安装量排行
该方法最简单,将分类 A 下的所有用户的安装列表进行统计,最后进行按照安装次数降序排序,
如:
QQ
1000 次
MM
900 次
weibo
800 次
等等...
我们可以理解排在越前面的软件越受欢迎,因为安装量越高(但是很多系统软件安装量也很
高,难道你想在推荐列表里看到一个 android 自带的计算器吗?(*^__^*) 嘻嘻……...).
2.使用频率排行
该方法会比上一种方法效果越好,但是也相对复杂一点点.
1.使用频率定义
首先要做的是定义使用频率的概念.定义的方式有很多,笔者仅仅列举一种在工作中使用过的
定义方式.
a.移动客户端定时扫描进程列表,并发送到服务端.
b.服务端按照发送时间存储.
c.通过 mapred 程序分析数据,计算使用次数.
具体的方式,因为客户端上报的进程列表包含时间,因此按照小时为单位统计使用次数,
以 QQ 为例子:
用户 A,一天上报的进程信息中 QQ 的信息如下:
QQ
2014-06-15 08:30:00
QQ
2014-06-15 08:40:00
QQ
2014-06-15 09:30:00