Mahout源码目录说明&&算法集

转载 2013年12月02日 16:42:58

Mahout源码目录说明

mahout项目是由多个子项目组成的,各子项目分别位于源码的不同目录下,下面对mahout的组成进行介绍:
1、mahout-core:核心程序模块,位于/core目录下;
2、mahout-math:在核心程序中使用的一些数据通用计算模块,位于/math目录下;
3、mahout-utils:在核心程序中使用的一些通用的工具性模块,位于/utils目录下;
上述三个部分是程序的主题,存储所有mahout项目的源码。
另外,mahout提供了样例程序,分别在taste-web和examples目录下:
4、taste-web:利用mahout推荐算法而建立的基于WEB的个性化推荐系统demo;
5、examples:对mahout中各种机器学习算法的应用程序;
6、bin:bin目录下只有一个名为mahout的文件,是一个shell脚本文件,用于在hadoop平台的命令行下调用mahout中的程序;
在buildtools、eclipse和distribution目录下,有mahout相关的配置文件
7、buildtools目录下是用于核心程序构建的配置文件,以mahout-buildtools的模块名称在mahout的pom.xml文件中进行说明;
8、eclipse下的xml文件是对利用eclipse开发mahout的配置说明;
9、distribution目录下有两个配置文件:bin.xml和src.xml,进行mahou安装时的一些配置信息。
(在开发的时候一般很少对这个目录下的文件进行修改,所以不用太关注,知道大体什么意思就ok)
 
另 外,在mahout的下载地址下可以看到有个文件夹与mahout处于同一级别,它是mahout项目的分支项目—mahout- collections,用于实现了核心程序中使用的集合类操作,该模块独立于mahout进行开发,是对标准jdk中关于集合类的修改,使其可以适应数 据密集型项目的开发。

在Mahout实现的机器学习算法见下表

算法类

算法名

中文名

分类算法

Logistic Regression

逻辑回归

Bayesian

贝叶斯

SVM

支持向量机

Perceptron

感知器算法

Neural Network

神经网络

Random Forests

随机森林

Restricted Boltzmann Machines

有限波尔兹曼机

聚类算法

Canopy Clustering

Canopy聚类

K-means Clustering

K均值算法

Fuzzy K-means

模糊K均值

Expectation Maximization

EM聚类(期望最大化聚类)

Mean Shift Clustering

均值漂移聚类

Hierarchical Clustering

层次聚类

Dirichlet Process Clustering

狄里克雷过程聚类

Latent Dirichlet Allocation

LDA聚类

Spectral Clustering

谱聚类

关联规则挖掘

Parallel FP Growth Algorithm

并行FP Growth算法

回归

Locally Weighted Linear Regression

局部加权线性回归

降维/维约简

Singular Value Decomposition

奇异值分解

Principal Components Analysis

主成分分析

Independent Component Analysis

独立成分分析

Gaussian Discriminative Analysis

高斯判别分析

进化算法

并行化了Watchmaker框架

 

推荐/协同过滤

Non-distributed recommenders

Taste(UserCF, ItemCF, SlopeOne)

Distributed Recommenders

ItemCF

向量相似度计算

RowSimilarityJob

计算列间相似度

VectorDistanceJob

计算向量间距离

非Map-Reduce算法

Hidden Markov Models

隐马尔科夫模型

集合方法扩展

Collections

扩展了java的Collections类

Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。

相关文章推荐

Apache Mahout算法集及源码目录说明

Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应...

mahout源码目录说明(转)

mahout项目是由多个子项目组成的,各子项目分别位于源码的不同目录下,下面对mahout的组成进行介绍: 1、mahout-core:核心程序模块,位于/core目录下; 2、mahout-ma...

mahout源码目录结构(二)

1.mahout的源码实现了两部分: (1)mahout核心源码 (2)mahout定制Collections集合工具 2.Mahout源码目录说明 mahout-core:核心程序模块,位于...

mahout canopy算法仿造代码源码

  • 2013年07月23日 18:59
  • 4KB
  • 下载

Mahout之k-means算法源码分析

org.apache.mahout.clustering.syntheticcontrol.kmeans.run(Configuration conf, Path input, Path output...

Mahout贝叶斯算法源码分析(5)

接上篇blog,继续分析。接下来要调用代码如下: // Should document frequency features be processed if (shouldPrune |...

Mahout贝叶斯算法源码分析(8)

接着上篇blog,继续看log里面的信息如下: + echo 'Training Naive Bayes model' Training Naive Bayes model + ./bin/mahou...

Mahout随机森林算法源码分析(2-4)

Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。 接上篇,先来说说上篇最后的bestIg和bestIndex的求法。在说这个前,要首先明确一个数组的熵的求...

Mahout随机森林算法源码分析(2)--BuildForest

Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。 BuildForecast是在mahout-examples-0.7-job.jar包的org\apac...

Mahout基于项目的协同过滤算法源码分析(2)--RowSimilarityJob

Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。 本篇开始之前先来验证前篇blog的分析结果,编写下面的测试文件来进行对上篇三个job的输出进行读取: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mahout源码目录说明&&算法集
举报原因:
原因补充:

(最多只允许输入30个字)