协同过滤算法 R/mapreduce/spark mllib多语言实现


用户电影评分数据集下载http://grouplens.org/datasets/movielens/

1) Item-Based,非个性化的,每个人看到的都一样

2) User-Based,个性化的,每个人看到的不一样

对用户的行为分析得到用户的喜好后,可以根据用户的喜好计算相似用户和物品,然后可以基于相似用户或物品进行推荐。这就是协同过滤中的两个分支了,基于用户的和基于物品的协同过滤。

在计算用户之间的相似度时,是将一个用户对所有物品的偏好作为一个向量,而在计算物品之间的相似度时,是将所有用户对某个物品的偏好作为一个向量。求出相似度后,接下来可以求相似邻居了。
3)基于模型(ModelCF)按照模型,可以分为:
1)最近邻模型:基于距离的协同过滤算法
2)Latent Factor Mode(SVD):基于矩阵分解的模型
3)Graph:图模型,社会网络图模型

适用场景

对于一个在线网站,用户的数量往往超过物品的数量,同时物品数据相对稳定,因此计算物品的相似度不但

计算量小,同时不必频繁更新。但是这种情况只适用于电子商务类型的网站,像新闻类,博客等这类网站的

系统推荐,情况往往是相反的,物品数量是海量的,而且频繁更新。

r语言实现基于物品的协同过滤算法


mareduce 实现参考文章:http://www.cnblogs.com/anny-1980/articles/3519555.html

代码下载https:// 香港云主机github.com/bsspirit/maven_hadoop_template/releases/tag/recommend

spark ALS实现Spark mllib里用的是矩阵分解的协同过滤,不是UserBase也不是ItemBase。
参考文章:http://www.mamicode.com/info-detail-865258.html



参考文章:http://blog.csdn.net/acdreamers/article/details/44672305
http://www.cnblogs.com/technology/p/4467895.html
http://blog.fens.me/rhadoop-mapreduce-rmr/

相关推荐: nginx配置add_header的坑怎么解决

这篇文章主要讲解了“nginx配置add_header的坑怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx配置add_header 香港云主机的坑怎么解决”吧!前言add_header 是 he…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/23 16:48
下一篇 07/23 16:48

相关推荐