一、Mahout簡介
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的郾城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
Mahout 是一個很強大的數(shù)據(jù)挖掘工具,是一個分布式機器學(xué)習(xí)算法的集合,包括:被稱為Taste的分布式協(xié)同過濾的實現(xiàn)、分類、聚類等。Mahout最大的優(yōu)點就是基于hadoop實現(xiàn),把很多以前運行于單機上的算法,轉(zhuǎn)化為了MapReduce模式,這樣大大提升了算法可處理的數(shù)據(jù)量和處理性能。
在Mahout實現(xiàn)的機器學(xué)習(xí)算法:
算法類 | 算法名 | 中文名 |
分類算法 | Logistic Regression | 邏輯回歸 |
Bayesian | 貝葉斯 | |
SVM | 支持向量機 | |
Perceptron | 感知器算法 | |
Neural Network | 神經(jīng)網(wǎng)絡(luò) | |
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 | 譜聚類 | |
關(guān)聯(lián)規(guī)則挖掘 | Parallel FP Growth Algorithm | 并行FP Growth算法 |
回歸 | Locally Weighted Linear Regression | 局部加權(quán)線性回歸 |
降維/維約簡 | Singular Value Decomposition | 奇異值分解 |
Principal Components Analysis | 主成分分析 | |
Independent Component Analysis | 獨立成分分析 | |
Gaussian Discriminative Analysis | 高斯判別分析 | |
進化算法 | 并行化了Watchmaker框架 | |
推薦/協(xié)同過濾 | 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
三、配置環(huán)境變量
3.1、配置Mahout環(huán)境變量
# set mahout environment
export MAHOUT_HOME=/usr/local/mahout-distribution-0.9
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATHma
四、驗證Mahout是否安裝成功
執(zhí)行命令mahout。若列出一些算法,則成功,如圖:
五、使用Mahout之入門級使用
5.1、啟動Hadoop
5.2、下載測試數(shù)據(jù)
a.下載一個文件synthetic_control.data,下載地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data,并把這個文件放在$MAHOUT_HOME目錄下。
5.3、上傳測試數(shù)據(jù)
c.創(chuàng)建測試目錄testdata,并把數(shù)據(jù)導(dǎo)入到這個tastdata目錄中(這里的目錄的名字只能是testdata)
hadoop fs -mkdir –p /user/root/testdata
hadoop fs -put synthetic_control.data /user/root/testdata
5.4 使用Mahout中的kmeans聚類算法,執(zhí)行命令:
mahout -core org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
花費5分鐘左右完成聚類。
5.5查看聚類結(jié)果
執(zhí)行hadoop fs -ls/user/root/output,查看聚類結(jié)果。