本文主要是介绍mahout实现基于物品的协同过滤算法(单机版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考:
https://www.imooc.com/video/15792
https://blog.csdn.net/greenhandzhang/article/details/18369697
https://www.cnblogs.com/cjsblog/p/8177065.html
https://blog.csdn.net/zll441488958/article/details/78923693
算法(不适用余弦或者皮尔森算法计算相似度)分析:
首先得到用户对物品的评分数据,是一个m*n矩阵,也就是所有的评分数据。
根据上面矩阵,找单独评分和同时频分的用户数,得到下面矩阵:
注意:构建物品相似度矩阵的时候可以通过计算两个物品的余弦相似度得出,于是需要构建每个物品在所有用户中的评分矩阵。
把上面两个矩阵相乘结果就是推荐结果。
用户没有买过的几项里面选出最大(或者TopN)的物品推荐就可以了。
需要引入一个用户对未购买物品的预测评分:参考:
https://www.cnblogs.com/yangxiao99/p/4459595.html
https://www.cnblogs.com/AndyJee/p/4854769.html
https://www.jianshu.com/p/e871e741b560
这篇关于mahout实现基于物品的协同过滤算法(单机版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!