Mahout環境安裝說明
1.介紹
意思是大象的飼養者及驅趕者。Mahout 是一套具有可擴充能力的機器學習類庫。它提供機器學習框架的同時,還實現了一些可擴展的機器學習領域經典算法的實現,可以幫助開發人員更加方便快捷地創建 智能應用程序。通過和 Apache Hadoop 分布式框架相結合,Mahout 可以有效地使用分布式系統來實現高性能計算。
2.安裝
http://mirror.bit.edu.cn/apache/mahout/
當前最新版本為0.7,下載如下兩個壓縮包
mahout-distribution-0.7-src.tar.gz
mahout-distribution-0.7.tar.gz
需要先安裝Maven及Hadoop (安裝過程參見其他資料)
- 在源碼包根目錄下執行mvn install (測試比較耗時,如果跳過測試,執行mvn -DskipTests install )
- 在core包下執行mvn compile </ol>
- 在core包下執行 mvn install </ol>
- 在example包下執行 mvn compile </ol>
配置環境變量
MAHOUT_HOME及PATH
3.配置
源碼包目錄結構說明
0.6及0.7版與0.5版不同,去掉了eclipse,taste-web,utils三個包,多了一個integration。
bin:包含一個名為mahout的shell腳本,用于在hadoop平臺的命令行下調用mahout中的程序。
buildtools:是用于核心程序構建的配置文件,在mahout的pom.xml文件中用到。
core:核心程序模塊
distribution:有兩個配置文件:bin.xml和src.xml,進行mahout安裝時的一些配置信息
examples:對mahout中各種機器學習算法的應用程序
integration:(一種說法,0.5版本的taste-web目錄換成了integration目錄)
math:在核心程序中使用的一些數據通用計算模塊
Mahout命令
在終端下鍵入:mahout
執行mahout kmeans --help
執行mahout –h 列舉出mahout支持的所有算法
4.其它
4.1 Mahout算法 (0.7)
算法分類 </td> |
算法名 </td> |
中文名 </td> |
簡要描述 </td> |
用例 </td> </tr> | ||||||
分類算法 </td> |
Logistic Regression (SGD) </td> |
邏輯回歸 </td> |
使用隨機梯度下降法 (SGD) 求解。速度超快、簡單的順序分類器,能夠在要求嚴格的環境中實現在線學習 </td> |
為用戶推薦廣告,將文本分類為多種類別 </td> </tr> | ||||||
</td> |
貝葉斯 </td> |
</td> |
</td> </tr> | |||||||
Support Vector Machines (SVM) </td> |
支持向量機 </td> |
</td> |
</td> </tr> | |||||||
</td> |
感知器算法 </td> |
</td> |
</td> </tr> | |||||||
</td> |
神經網絡 </td> |
</td> |
</td> </tr> | |||||||
</td> |
隨機森林 </td> |
</td> |
</td> </tr> | |||||||
</td> |
有限波爾茲曼機 </td> |
</td> |
</td> </tr> | |||||||
</td> |
Online被動主動(Passive Aggressive, PA) </td> |
</td> |
</td> </tr> | |||||||
Hidden Markov Models (HMM) </td> |
隱藏式馬可夫模型 </td> |
經典分類算法的順序和并行實現,設計用于在基本生成過程不可知的情況下建模實際過程。 </td> |
文本詞類標注、語音識別 </td> </tr> | |||||||
聚類算法 </td> | </td> |
Canopy聚類 (簡單、高效、準確) </td> |
</td> |
</td> </tr> | ||||||
</td> |
K均值算法 (相當簡單但廣為人知) </td> |
</td> |
</td> </tr> | |||||||
</td> |
模糊K均值 </td> |
</td> |
</td> </tr> | |||||||
</td> |
EM聚類(期望最大化聚類) </td> |
</td> |
</td> </tr> | |||||||
</td> |
均值漂移聚類 </td> |
</td> |
</td> </tr> | |||||||
</td> |
層次聚類 (鏈接中未包含具體內容,看下邊的Top Down即可) </td> |
</td> |
</td> </tr> | |||||||
</td> |
狄利克雷聚類 </td> |
基于模型的聚類方法,根據數據是否適合基本模型來確定從屬關系 </td> |
在數據存在重疊或層次時非常有用 </td> </tr> | |||||||
</td> |
LDA聚類 </td> |
</td> |
</td> </tr> | |||||||
</td> |
譜聚類(比較現代) </td> |
一系列類似的方法,使用基于圖形的方法來確定聚類從屬關系 </td> |
與所有聚類算法相似,適用于探索大規模、不可見的數據集 </td> </tr> | |||||||
</td> |
Minhash 聚類 </td> |
利用散列戰略,將類似的項目組織在一起,從而生成聚類 </td> |
與其他聚類方法相同 </td> </tr> | |||||||
</td> |
層次聚類(Hierarchical Clustering)的一種,自上而下的方式 </td> |
</td> |
</td> </tr> | |||||||
關聯規則挖掘 </td> | </td> |
并行FP Growth算法 </td> |
</td> |
</td> </tr> | ||||||
回歸 </td> | </td> |
局部加權線性回歸 </td> |
</td> |
</td> </tr> | ||||||
Dimension reduction (降維/維約簡) </td> | </td> |
奇異值分解 </td> |
旨在減少大型矩陣內的噪聲,使噪音更小、更容易處理 </td> |
作為聚類、推薦機制和分類的前導,自動執行特性選擇 </td> </tr> | ||||||
</td> |
Stochastic SVD </td> |
</td> |
</td> </tr> | |||||||
</td> |
主成分分析 </td> |
</td> |
</td> </tr> | |||||||
</td> |
獨立成分分析 </td> |
</td> |
</td> </tr> | |||||||
</td> |
高斯判別分析 </td> |
</td> |
</td> </tr> | |||||||
進化算法 </td> |
Watchmaker已經被移除 </td> |
</td> |
</td> </tr> | |||||||
推薦/協同過濾 </td> | </td> |
Taste (UserCF, ItemCF, SlopeOne) </td> |
</td> |
</td> </tr> | ||||||
</td> |
</td> |
</td> </tr> | ||||||||
基于ALS-WR的協同過濾 (Alternating Least Squares with Weighted Lambda-Regularization) </td> |
矩陣分解 </td> |
詳見 Large-scale Parallel Collaborative Filtering for the Netflix Prize </td> |
</td> </tr> | |||||||
其他 </td> | </td> |
</td> |
</td> </tr> | |||||||
非Map-Reduce算法 </td> |
</td> |
</td> </tr> | ||||||||
向量相似度計算 </td> | </td> |
計算列間相似度 </td> |
</td> |
</td> </tr> | ||||||
Vector Distance Job </td> |
計算向量間距離 </td> |
</td> |
</td> </tr> </tbody> </table>
4.2 參考資料1. Mahout 構建 2. M2E plugin execution not covered 3. Mahout 算法 4. Mahout 推薦 7. Recommender First Timer FAQ (初次使用推薦系統的問答) 8. Apache Mahout: 適合所有人的可擴展機器學習框架 10. 探索推薦引擎內部的秘密 11. 聚類(Leo Zhang) : 12. 分類SVM(Leo Zhang) : 1) 線性學習器 2) 求解二次規劃問題 3) 核函數 4) 統計學習理論 5) 軟間隔優化 Coordinate Desent MethodSequential Minimal OptimizationImprovements to Platt’s SMO Algorithm漫談Clustering (Free Mind)K-meansExpectation MaximizationSpectral ClusteringHierarchical Clustering百度百科:機器學習(官網) 分類的兩個例子Visualizing ClustersCluster Dumper 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
相關資訊 |