Mahout學習之Mahout簡介、安裝、配置、入門程式測試
一、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、下載測試資料 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,檢視聚類結果。