一、基本想法
基于物品的推荐系统是基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。从计算的角度来看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。
二、算法
Item-based 推荐系统根据用户对相似物品的评分预测目标物品的评分,然后给用户推荐预测评分值最高的Top-N个物品。
- 这个过程有三个步骤:
1.构建用户—物品评分矩阵
2.寻找目标物品的若干个最近邻居-建立相似矩阵
3.预测目标物品的评分,并向用户产生推荐
本文使用Rhadoop进行运算,并以Mahout in Action一书中的small.csv数据集测试,得出以下结果:
表一:推荐结果
用户(user) |
物品(item) |
价值(value) |
1 |
104 |
33.5 |
2 |
106 |