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

BigData sunny5156 2年前 (2017-09-28) 330次浏览 0个评论

一、Mahout简介

查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了…

附logo:

clip_image001(就是他,骑在象头上的那个Mahout)clip_image002

步入正文啦:

       Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类、聚类等。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。

Mahout实现的机器学习算法:

算法类算法名中文名
分类算法Logistic Regression逻辑回归
Bayesian贝叶斯
SVM支持向量机
Perceptron感知器算法
Neural Network神经网络
Random Forests随机森林
Restricted Boltzmann Machines有限波尔兹曼机
聚类算法Canopy ClusteringCanopy聚类
K-means ClusteringK均值算法
Fuzzy K-means模糊K均值
Expectation MaximizationEM聚类(期望最大化聚类)
Mean Shift Clustering均值漂移聚类
Hierarchical Clustering层次聚类
Dirichlet Process Clustering狄里克雷过程聚类
Latent Dirichlet AllocationLDA聚类
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 recommendersTaste(UserCF, ItemCF, SlopeOne)
Distributed RecommendersItemCF
向量相似度计算RowSimilarityJob计算列间相似度
VectorDistanceJob计算向量间距离
非Map-Reduce算法Hidden Markov Models隐马尔科夫模型
集合方法扩展Collections扩展了java的Collections类

 

image

二、Mahout安装、配置
一、下载Mahout

http://archive.apache.org/dist/mahout/

二、解压

tar -zxvf mahout-distribution-0.9.tar.gz

三、配置环境变量

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

四、验证Mahout是否安装成功

执行命令mahout。若列出一些算法,则成功,如图:

clip_image003

五、使用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,查看聚类结果。clip_image004


喜欢 (0)

您必须 登录 才能发表评论!