部署安裝 Mahout

一、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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章