部署Mahout

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

一、Mahout简介


Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Apache Mahout项目已经发展到了它的第三个年头,目前已经有了三个公共发行版本。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

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



在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安装、配置 


一、下载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。若列出一些算法,则成功,如图:

        

       

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

方法二、 Mahout安装与配置

Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop。Hadoop的安装网上很多,并不复杂,这里不再讲述,接下来阐述怎么安装Mahout。
1:下载二进制解压安装。
到http://labs.renren.com/apache-mirror/mahout/0.7下载,我选择下载二进制包,直接解压及可。

hadoop@ubuntu:~$ tar -zxvf mahout-distribution-0.7.tar.gz


2:配置环境变量:在/etc/profile,/home/hadoop/.bashrc中添加如下红色信息
#set java environment
MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
PIG_HOME=/home/hadoop/pig-0.9.2
HBASE_HOME=/home/hadoop/hbase-0.94.3
HIVE_HOME=/home/hadoop/hive-0.9.0
HADOOP_HOME=/home/hadoop/hadoop-1.1.1
JAVA_HOME=/home/hadoop/jdk1.7.0
PATH=$JAVA_HOME/bin:$PIG_HOME/bin:$MAHOUT_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$PIG_HOME/lib:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export MAHOUT_HOME
export PIG_HOME
export HBASE_HOME
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH

3:启动hadoop,也可以用伪分布式来测试

4:mahout --help    #检查Mahout是否安装完好,看是否列出了一些算法

5:mahout使用准备
a.下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data,并把这个文件放在$MAHOUT_HOME目录下。

b.启动Hadoop:$HADOOP_HOME/bin/start-all.sh

c.创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)

hadoop@ubuntu:~/$ hadoop fs -mkdir testdata #
hadoop@ubuntu:~/$ hadoop fs -put /home/hadoop/mahout-distribution-0.7/synthetic_control.data testdata


d.使用kmeans算法(这会运行几分钟左右)

hadoop@ubuntu:~/$ hadoop jar /home/hadoop/mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job


e.查看结果

hadoop@ubuntu:~/$ hadoop fs -lsr output

如果看到以下结果那么算法运行成功,你的安装也就成功了。
clusteredPoints  clusters-0  clusters-1  clusters-10  clusters-2  clusters-3  clusters-4 clusters-5  clusters-6  clusters-7  clusters-8  clusters-9  data


相关文章
|
6月前
|
分布式计算 资源调度 Hadoop
Apache Hadoop入门指南:搭建分布式大数据处理平台
【4月更文挑战第6天】本文介绍了Apache Hadoop在大数据处理中的关键作用,并引导初学者了解Hadoop的基本概念、核心组件(HDFS、YARN、MapReduce)及如何搭建分布式环境。通过配置Hadoop、格式化HDFS、启动服务和验证环境,学习者可掌握基本操作。此外,文章还提及了开发MapReduce程序、学习Hadoop生态系统和性能调优的重要性,旨在为读者提供Hadoop入门指导,助其踏入大数据处理的旅程。
878 0
|
6月前
|
机器学习/深度学习 分布式计算 算法
Mahout开源项目
Mahout是一个基于Apache Hadoop的开源机器学习库,旨在为Hadoop生态系统提供分布式机器学习功能。Mahout项目是由ASF(Apache Software Foundation)开发和维护的,它提供了一些可扩展的机器学习算法,包括聚类、分类、推荐和协同过滤等。【2月更文挑战第10天】
80 2
|
机器学习/深度学习 分布式计算 算法
144 Mahout介绍
144 Mahout介绍
51 0
|
存储 分布式计算 Hadoop
147 Mahout运行在Hadoop集群
147 Mahout运行在Hadoop集群
47 0
|
分布式计算 搜索推荐 Hadoop
09 Hadoop推荐系统架构图
09 Hadoop推荐系统架构图
91 0
|
机器学习/深度学习 存储 分布式计算
Hadoop生态系统中的机器学习与数据挖掘技术:Apache Mahout和Apache Spark MLlib的应用
Hadoop生态系统中的机器学习与数据挖掘技术:Apache Mahout和Apache Spark MLlib的应用
|
分布式计算 算法 Hadoop
部署Mahout
一、Mahout简介 Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。
1259 0
|
算法 数据挖掘 分布式计算

相关实验场景

更多