Mahout 简介
Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Apache Mahout项目已经发展到了它的第三个年头,目前已经有了三个公共发行版本。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。
Mahout 的创始人 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档聚类、提出建议和组织内容。下图中,左图是 Hadoop,右图是 Mahout 的logo
Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类、聚类等。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。
Mahout 实现的机器学习算法
分类算法名 | 中文名 |
---|---|
Logistic Regression | 逻辑回归 |
Bayesian | 贝叶斯 |
Perceptron | 感知器算法 |
SVM | 支持向量机 |
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类 |