推荐系统-基于用户的最近邻协同过滤算法(MovieLens数据集)
基于用户的最近邻算法(User-Based Neighbor Algorithms),是一种非概率性的协同过滤算法,也是推荐系统中最最古老,最著名的算法。
我们称那些兴趣相似的用户为邻居,如果用户n相似于用户u,我们就说n是u的一个邻居。起初算法,对于未知目标的预测是根据该用户的相似用户的评分作出预测的。
本文中运用的是MovieLens数据集,关于这个数据集的介绍可以参看http://www.grouplens.org/node/73
算法主要包括两个步骤:
(1). 找到与用户兴趣相似的用户(邻居)集合。
(2). 根据这个邻居集合,计算出该用户对未曾评分的物品的预测评分。并列出获得最高的预测评分N项物品,推荐给该用户。
本文,用皮尔逊相关系数(pearon correlation coefficient)计算用户之间的相似性。如formula1
计算用户u对物品i的预测值,使用的formula2
formula1:
formula-2:

具体实现代码如下: