一.Mahout推荐算法简介 Mahout算法框架自带的推荐器有下面这些: l  GenericUserBasedRecommender:基于用户的推荐器,用户数量少时速度快: l  GenericItemBasedRecommender:基于商品推荐器,商品数量少时速度快,尤其当外部提供了商品相似度数据后效率更好: l  SlopeOneRecommender:基于slope-one算法的推荐器,在线推荐或更新较快,需要事先大量预处理运算,物品数量少时较好: l  SVDRecommender…
下面这是论文笔记,其实主要是摘抄,这片博士论文很有逻辑性,层层深入,所以笔者保留的比较多. 看到第二章,我发现其实这片文章对我来说更多是科普,科普吧…… 一.论文来源 Personalized Web Recommendation via Collaborative Filtering(很奇怪via为什么小写,先记住吧) (Candidate)博士研究生:孙慧峰 (Advisor)导师:陈俊亮(院士) (Academic Degree Applied for)学位级别:工学博士学科(Doctor…
关键字:SVD.奇异值分解.降维.基于协同过滤的推荐引擎作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harrington)源码下载地址:https://www.manning.com/books/machine-learning-in-actionhttps://github.com/pbharrin/machinelearninginaction ****************************…
数据规整 首先将评分数据从 ratings.dat 中读出到一个 DataFrame 里: >>> import pandas as pd In [2]: import pandas as pd In [3]: df = pd.read_csv('2014-12-18.csv') In [4]: df.head()Out[4]: user_id item_id behavior_type user_geohash item_category hour0 100268421 2840198…
https://blog.csdn.net/qq_23269761/article/details/81355383 1.协同过滤(CF)[基于内存的协同过滤] 优点:简单,可解释 缺点:在稀疏情况下无法工作 所以对于使用userCF的系统,需要解决用户冷启动问题 和如何让一个新物品被第一个用户发现 对于只用itemCF的系统,需要解决物品冷启动问题 如何更新推荐系统呢,答案就是离线更新用户相似度矩阵和物品相似度矩阵[不断删除离开的用户/物品,加入新来的用户/物品] 2.MF PMF BPMF[…
来自:http://www.codesky.net/article/201206/171862.html mahout的taste框架是协同过滤算法的实现.它支持DataModel,如文件.数据库.NoSQL存储等,也支持Hadoop的MapReduce.这里主要分析的基于MR的实现. 基于MR的CF实现主要流程就在 org.apache.mahout.cf.taste.Hadoop.item.RecommenderJob类中(注意mahout有两个 RecommendJob,要看清楚是哪一个包…
使用Spark进行ALS编程的例子可以看:http://www.cnblogs.com/charlesblc/p/6165201.html ALS:alternating least squares 关于协同过滤ALS原理的可以看这篇文章:http://www.docin.com/p-938897760.html 最后的惩罚因子那部分没看懂.前面的还挺好的. 上面3.1节关于矩阵分解模型的自然意义和解释,讲的非常好! 注:矩阵的每一行代表一个方程,m行代表m个线性联立方程. n列代表n个变量.如…
推荐算法有基于协同的Collaboration Filtering:包括 user Based和item Based:基于内容 : Content Based 协同过滤包括基于物品的协同过滤和基于用户的协同过滤,本文基于电影评分数据做基于商品的推荐 查看数据u.data 主要用到前3列分别指 用户编号user_id.电影编号item_id.用户对电影的打分score 这个文件主要用户构建物品的相似度矩阵 ubuntu@ubuntu-2:~/workspace/jupyter_project/re…
//加载需要的包 import org.apache.spark.rdd._ import org.apache.spark.mllib.recommendation.{ALS, Rating, MatrixFactorizationModel} //读取数据 val ratings = sc.textFile("D:/BaiduYunDownload/machine-learning/movielens/medium/ratings.dat").map { line => va…
一.知识准备 hadoop自带的例子在 D:\HADOOP_HOME\hadoop-2.6.4\share\hadoop\mapreduce\sources\hadoop-mapreduce-examples 2.6.0-source.jar 我记得当年面试的时候就问中位数的问题不过是数据流下的中位数,一问便知是否搞过hadoop. 二.代码实现 2.1 Mapper package cf; import java.io.IOException; import org.apache.hadoop…