![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Itembased Collaborative Filtering
文章平均质量分 87
fansy1990
这个作者很懒,什么都没留下…
展开
-
Mahout协同过滤算法源码分析--Itembased Collaborative Filtering实战
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本系列介绍介绍mahout中的Itembased Collaborative Filtering算法,这个算法的实现的源码是org.apache.mahout.cf.taste.hadoop.item.RecommenderJob。在mahout官网是这样介绍这个算法的:RecommenderJob是原创 2013-10-10 23:49:25 · 6420 阅读 · 18 评论 -
Mahout基于项目的协同过滤算法源码分析(2)--RowSimilarityJob
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇开始之前先来验证前篇blog的分析结果,编写下面的测试文件来进行对上篇三个job的输出进行读取:package mahout.fansy.item;import java.io.IOException;import java.util.Map;import org.apache.原创 2013-10-12 00:55:06 · 4443 阅读 · 2 评论 -
Mahout基于项目的协同过滤算法源码分析(1)--PreparePreferenceMatrixJob
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇分析RecommenderJob的源码,这个类也是继承了AbstractJob,所以也会覆写其run方法,点开这个run方法,可以看到和其他的job类都一样,刚开始都是基本参数的默认值设置和获取;然后到了第一个job,在这个job之前有一个shouldRunNextPhase()函数,点开这个函数原创 2013-10-11 01:19:39 · 5033 阅读 · 0 评论 -
Mahout基于项目的协同过滤算法源码分析(4)共生矩阵乘法
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。经过了SimilarityJob的计算共生矩阵后,就可以开始下面一个过程了,这个过程主要是共生矩阵的乘法,要说这个共生矩阵的乘法是啥意思?我也不是很清楚,不清楚就看代码呗。首先明确共生矩阵,即共生矩阵的输入文件(也是上面个SimilarityJob的输出文件):similarityMa原创 2013-10-15 20:38:35 · 3761 阅读 · 3 评论 -
Mahout基于项目的协同过滤算法源码分析(5)--推荐
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,本篇分析该算法的最后一个job。在上篇计算共生矩阵的乘积后,接下来又到了一个shouldRunNextPhase的方法了,这个方法里面含有三个prepareJob,但是本次只分析一个,为啥?因为在实战中没有设置filterFile,这里其实是可以设置filterFile的,设置这个参数的作原创 2013-10-17 00:17:07 · 4639 阅读 · 5 评论 -
Mahout基于项目的协同过滤算法源码分析(6)--总结
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇是ItemBased Collaborative Filtering的算法综述,即总结前面几篇blog,分析该算法的数据流,主要使用的数据是《mahout in action》中的listing2.1的数据。首先贴上下面的一个图:看到上面的图片(这个算法计算到上图中的矩阵还没有结束原创 2013-10-18 00:07:04 · 3000 阅读 · 1 评论