分享

Mahout学习之Mahout简介、安装、配置、程序测试

问题导读
1.Mahout是什么?
2.Mahout与hadoop的关系是什么?
3.在Mahout实现了哪些机器学习算法?
4.如何使用Mahout?





一、Mahout简介
查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了...
附logo:
20140427103622578.png (就是他,骑在象头上的那个Mahout) 20140427103829484.jpg


步入正文啦:
       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、解压
  1. tar -zxvf mahout-distribution-0.9.tar.gz
复制代码




3、配置环境变量
3.1、配置Mahout环境变量
  1. # set mahout environment
  2. export MAHOUT_HOME=/home/yujianxin/mahout/mahout-distribution-0.9
  3. export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
  4. 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。若列出一些算法,则成功,如图:
         1.jpg

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,查看聚类结果。


2.jpg












已有(5)人评论

跳转到指定楼层
anyhuayong 发表于 2014-10-21 08:53:26
入门级,楼主辛苦
回复

使用道具 举报

Joker 发表于 2015-1-16 18:04:27
LZ上传的测试数据链接失效了,可以提供新的吗?
回复

使用道具 举报

awenkidz 发表于 2015-4-23 15:35:29
太感谢了。谢谢啦。
回复

使用道具 举报

awenkidz 发表于 2015-4-23 15:54:09
我6节点跑了3.74分钟,算快吗?

点评

还可以  发表于 2015-4-23 15:57
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条