Mahout學習之Mahout簡介、安裝、配置、入門程式測試

Thinkgamer_gyt發表於2015-09-20

一、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安裝、配置

一、下載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繼續學習中......

相關文章