问题导读
1.Mahout是什么?
2.Mahout与hadoop的关系是什么?
3.在Mahout实现了哪些机器学习算法?
4.如何使用Mahout?
一、Mahout简介
查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了...
附logo:
(就是他,骑在象头上的那个Mahout)
步入正文啦:
Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类、聚类等。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。
在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安装、配置
1、下载Mahout http://archive.apache.org/dist/mahout/
2、解压
- tar -zxvf mahout-distribution-0.9.tar.gz
复制代码
3、配置环境变量
3.1、配置Mahout环境变量
- # set mahout environment
- export MAHOUT_HOME=/home/yujianxin/mahout/mahout-distribution-0.9
- export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
- export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH
复制代码
3.2、配置Mahout所需的Hadoop环境变量
# set hadoop environment
export HADOOP_HOME=/home/yujianxin/hadoop/hadoop-1.1.2
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_HOME_WARN_SUPPRESS=not_null
4、验证Mahout是否安装成功
执行命令mahout。若列出一些算法,则成功,如图:
5、使用Mahout 之入门级使用
5.1、启动Hadoop
5.2、下载测试数据
http://archive.ics.uci.edu/ml/databases/synthetic_control/链接中的synthetic_control.data
5.3、上传测试数据
hadoop fs -put synthetic_control.data /user/root/testdata
5.4 使用Mahout中的kmeans聚类算法,执行命令:
mahout -core org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
花费9分钟左右完成聚类 。
5.5 查看聚类结果
执行hadoop fs -ls /user/root/output,查看聚类结果。
|