来自:http://blog.csdn.net/heyutao007/article/details/8612906 Mahout支持2种 M/R 的jobs实现itemBase的协同过滤 I.ItemSimilarityJob II.RecommenderJob 下面我们对RecommenderJob进行分析,版本是mahout-distribution-0.7 源码包位置:org.apache.mahout.cf.taste.hadoop.item.RecommenderJob Recomm…
fesh个人实践,欢迎经验交流!Blog地址:http://www.cnblogs.com/fesh/p/3775429.html Mahout之SparseVectorsFromSequenceFiles源码分析 一.原理 TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度.字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降. TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 首先来总结一下 mahout算法源码分析之Collaborative Filtering with ALS-WR (三),这个写了三篇,基本都是写QR分解,然后矩阵进过处理得到U或者M的过程,但是还是没有讲出个所以然来.mahout官网上说其是根据这篇文献得来的Large-scale Parallel Collaborative Filtering for the Netflix Prize,本来我是想…
FP-Growth是一种常被用来进行关联分析,挖掘频繁项的算法.与Aprior算法相比,FP-Growth算法采用前缀树的形式来表征数据,减少了扫描事务数据库的次数,通过递归地生成条件FP-tree来挖掘频繁项.参考资料[1]详细分析了这一过程.事实上,面对大数据量时,FP-Growth算法生成的FP-tree非常大,无法放入内存,挖掘到的频繁项也可能有指数多个.本文将分析如何并行化FP-Growth算法以及Mahout中并行化FP-Growth算法的源码. 1. 并行化FP-Growth 并行…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 额,好吧,心头的一块石头总算是放下了.关于Collaborative Filtering with ALS-WR这个算法中的那个QR分析,真心是太复杂了.以至于国庆后面三天基本都是在郁闷中过来的,想着自己的矩阵学的是有多差呀...后来算法验证弄懂之后才发觉,尼玛,java太坑爹了吧,矩阵求个逆,有那么复杂么!!! 下面来开始验证:首先应该获得了两个变量分别是Ai和Vi,如果这两个变量不知道是啥东西,可…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. mahout算法源码分析之Collaborative Filtering with ALS-WR 这个算法的并行主要就应该是ParallelALSFactorizationJob这里的并行了,下图是这个Job的大部分操作: 这里分析并行就是看每个job任务是否可以出现多个map或者reduce即可. (1)首先分析前面三个itemRatings,对应的输入是原始文件,如果原始文件很大的话,那么这个任务…
abstract class ParentRunner<T> extends Runner implements Filterable,Sortable 本节介绍排序和过滤. (尽管JUnit4.8.2源码分析-6.1 排序和过滤中演示了客户使用排序和过滤的方式,也有些不明确其设计意图.可是.先读懂源码为妙.说不定看着看着就明确了. ) org.junit.runner.manipulation包 排序和过滤的相关类型.在org.junit.runner.manipulation包中.Sort…
一.算法原理 请参考我在大学时写的<QR方法求矩阵全部特征值>,其包含原理.实例及C语言实现:http://www.docin.com/p-114587383.html 二.源码分析 这里有一篇文章<使用MapRedece进行QR分解的步骤>可以看看 /** For an <tt>m x n</tt> matrix <tt>A</tt> with <tt>m >= n</tt>, the QR decom…
<深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析>一书第一章的内容请看链接<第1章 环境准备> 本文主要展示本书的第2章内容: Spark设计理念与基本架构 “若夫乘天地之正,而御六气之辩,以游无穷者,彼且恶乎待哉?” ——<庄子·逍遥游> n  本章导读: 上一章,介绍了Spark环境的搭建,为方便读者学习Spark做好准备.本章…
Abp是一种基于模块化设计的思想构建的.开发人员可以将自定义的功能以模块(module)的形式集成到ABP中.具体的功能都可以设计成一个单独的Module.Abp底层框架提供便捷的方法集成每个Module.下图是所有Abp自带的module.AbpModule是所有Module的基类,其已经拥有了IIocManager和IAbpStartupConfiguration的受保护的成员,从其派生的Module都可以直接获取并使用相关的功能(依赖注入,Configuration).: 以下以AbpWe…