https://blog.csdn.net/u012050154/article/details/52268057?tdsourcetag=s_pcqq_aiomsg
https://blog.csdn.net/anryyang/article/details/23563237
https://github.com/xingzhexiaozhu/MovieRecommendation/blob/master/UserCF/UserCF.py
https://github.com/Lockvictor/MovieLens-RecSys
Pearson相似度
皮尔逊相似度就是优化过的余弦相似度,即进行中心化处理。在上面这个例子中如果使用余弦相似度就会出现错误推荐的情况发生。
范围是[-1,1]
基于物品的协同过滤算法
杰卡德相似度:集合的角度思考,未考虑评分
余弦相似度:没有进行中心化处理
皮尔逊相似度:破费特
皮尔逊相似度的计算就是用户商品评分矩阵减去每个用户的评分的平均值之后新的矩阵,然后进行得到中心化后的评分矩阵,就可以使用预先相似度进行计算了。
今天终于明白了在为什么需要训练集与数据集了,在一个完整的数据集中,有所有用户对所有电影的评分情况。而在我们的训练集中缺少部分用户的评分(缺少的这一部分在测试集中),通过训练集对用户缺少的评分进行预测,然后和测试集中的真实值进行对比,通过RMSE等方法对模型进行评估。