您好,登錄后才能下訂單哦!
一、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是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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。