
mahout算法源码分析
文章平均质量分 90
针对mahout官网提供的算法源码进行解读,分析其中的算法实现以及并行思想。
fansy1990
这个作者很懒,什么都没留下…
展开
-
Mahout源码分析之DistributedLanczosSolver(2)--Job1
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。在上篇blog中的最后终端的信息可以看到,svd算法一共有四个Job任务。下面通过Mahout中DistributedLanczosSolver源代码来一个个分析:为了方便后面的数据随时对照,使用wine.dat修改后的数据,如下(5行,13列):14.23,1.71,2.43,15.6,原创 2013-10-29 00:13:32 · 3468 阅读 · 2 评论 -
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 · 4672 阅读 · 5 评论 -
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 · 5087 阅读 · 0 评论 -
Mahout源码K均值聚类算分析(2)
首先说下,为什么题目后面会有个“无语篇”,因为我觉得今晚这几个钟头太坑爹了。为什么,且听我慢慢道来:按照昨天的计划,我应该把代码仿造成单机可运行的代码。但是首先我要有输入数据不是?所以我最开始做的就是仿造clusterIn的数据,即中心向量的文件。昨天也说过中心向量文件应该就是把一组(key,value)对(要求value的格式为ClusterWritable,key格式任意)写入一个序列文件原创 2013-08-02 01:53:55 · 4313 阅读 · 1 评论 -
Mahout贝叶斯算法开发思路(拓展篇)2
如果想直接下面算法调用包,可以直接在mahout贝叶斯算法拓展下载,该算法调用的方式如下:$HADOOP_HOME/bin hadoop jar mahout.jar mahout.fansy.bayes.BayerRunner -i hdfs_input_path -o hdfs_output_path -scl : -scv ,调用参数如下:usage: [Gener原创 2013-09-14 14:52:30 · 6958 阅读 · 25 评论 -
Mahout贝叶斯算法开发思路(拓展篇)1
首先说明一点,此篇blog解决的问题是就下面的数据如何应用mahout中的贝叶斯算法?(这个问题是在上篇(。。。完结篇)blog最后留的问题,如果想直接使用该工具,可以在mahout贝叶斯算法拓展下载):0.2 0.3 0.4:10.32 0.43 0.45:10.23 0.33 0.54:12.4 2.5 2.6:22.3 2.2 2.1:25.4 7.2 7.2:35.6原创 2013-09-14 14:28:04 · 5965 阅读 · 5 评论 -
Mahout随机森林算法分布式策略
关于mahout中的random forests算法在前面已经分析过,这里简要说下其并行策略。刚开始的时候,我以为这个算法好像没啥并行的地方,一开始就是对全部原始数据进行分析,也没有对原始数据进行分片。然后它的job任务也只有一个mapper,这样如何才能多建立几个mapper?然后这样才能达到几个节点并行吧(一个节点计算一个mapper,这样效率才高过一个节点计算多个mapper)。但是如果原创 2013-09-29 01:00:52 · 6555 阅读 · 10 评论 -
Mahout协同过滤算法源码分析(5)--拓展篇
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。额,好吧,心头的一块石头总算是放下了。关于Collaborative Filtering with ALS-WR这个算法中的那个QR分析,真心是太复杂了。以至于国庆后面三天基本都是在郁闷中过来的,想着自己的矩阵学的是有多差呀。。。后来算法验证弄懂之后才发觉,尼玛,java太坑爹了吧,矩阵求个逆,有那么原创 2013-10-08 20:03:18 · 4081 阅读 · 2 评论