Mahout環境安裝說明

jopen 9年前發布 | 16K 次閱讀 Mahout 機器學習

1.介紹

意思是大象的飼養者及驅趕者。Mahout 是一套具有可擴充能力的機器學習類庫。它提供機器學習框架的同時,還實現了一些可擴展的機器學習領域經典算法的實現,可以幫助開發人員更加方便快捷地創建 智能應用程序。通過和 Apache Hadoop 分布式框架相結合,Mahout 可以有效地使用分布式系統來實現高性能計算。

網址:http://mahout.apache.org/

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 (安裝過程參見其他資料)

  1. 在源碼包根目錄下執行mvn install (測試比較耗時,如果跳過測試,執行mvn -DskipTests install )
  2. 在core包下執行mvn compile
  3. </ol>


    1. 在core包下執行 mvn install
    2. </ol>

      Mahout環境安裝說明

      1. 在example包下執行 mvn compile
      2. </ol>

        Mahout環境安裝說明

        配置環境變量

               MAHOUT_HOME及PATH

         3.配置

        源碼包目錄結構說明

        Mahout環境安裝說明

        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>

        Bayesian

        </td>

        貝葉斯

        </td>

         

        </td>

         

        </td> </tr>

        Support Vector Machines (SVM)

        </td>

        支持向量機

        </td>

         

        </td>

         

        </td> </tr>

        Perceptron and Winnow

        </td>

        感知器算法

        </td>

         

        </td>

         

        </td> </tr>

        Neural Network

        </td>

        神經網絡

        </td>

         

        </td>

         

        </td> </tr>

        Random Forests

        </td>

        隨機森林

        </td>

         

        </td>

         

        </td> </tr>

        Restricted Boltzmann Machines

        </td>

        有限波爾茲曼機

        </td>

         

        </td>

         

        </td> </tr>

        Online Passive Aggressive

        </td>

        Online(Passive Aggressive, PA)

        </td>

         

        </td>

         

        </td> </tr>

        Hidden Markov Models (HMM)

        </td>

        藏式可夫模型

        </td>

        典分類算法的序和并行實現設計用于在基本生成程不可知的情況下建模實際過程。

        </td>

        文本注、

        </td> </tr>

        聚類算法

        </td>

        Canopy Clustering

        </td>

        Canopy聚類 (簡單、高效、準確)

        </td>

         

        </td>

         

        </td> </tr>

        K-means Clustering

        </td>

        K均值算法 (相當簡單但廣為人知)

        </td>

         

        </td>

         

        </td> </tr>

        Fuzzy K-means

        </td>

        模糊K均值

        </td>

         

        </td>

         

        </td> </tr>

        Expectation Maximization

        </td>

        EM聚類(期望最大化聚類)

        </td>

         

        </td>

         

        </td> </tr>

        Mean Shift Clustering

        </td>

        均值漂移聚類

        </td>

         

        </td>

         

        </td> </tr>

        Hierarchical Clustering

        </td>

        層次聚類 (鏈接中未包含具體內容,看下邊的Top Down即可)

        </td>

         

        </td>

         

        </td> </tr>

        Dirichlet Process Clustering

        </td>

        狄利克雷聚類

        </td>

        基于模型的聚類方法,根據數據是否適合基本模型來確定從屬關系

        </td>

        在數據存在重疊或非常有用

        </td> </tr>

        Latent Dirichlet Allocation

        </td>

        LDA聚類

        </td>

         

        </td>

         

        </td> </tr>

        Spectral Clustering

        </td>

        譜聚類(比較現代)

        </td>

        一系列類似的方法,使用基于形的方法來確定聚類從屬關系

        </td>

        與所有聚類算法相似,適用于探索大模、不可的數據集

        </td> </tr>

        Minhash Clustering

        </td>

        Minhash 聚類

        </td>

        利用散列略,將類似的組織在一起,從而生成聚類

        </td>

        與其他聚類方法相同

        </td> </tr>

        Top Down Clustering

        </td>

        層次聚類(Hierarchical Clustering)的一種,自上而下的方式

        </td>

         

        </td>

         

        </td> </tr>

        關聯規則挖掘

        </td>

        Parallel FP Growth Algorithm

        </td>

        并行FP Growth算法

        </td>

         

        </td>

         

        </td> </tr>

        回歸

        </td>

        Locally Weighted Linear Regression

        </td>

        局部加權線性回歸

        </td>

         

        </td>

         

        </td> </tr>

        Dimension reduction (降維/維約簡)

        </td>

        Singular Value Decomposition (SVD)

        </td>

        奇異值分解

        </td>

        旨在減少大型矩內的噪聲,使噪音更小、更容易

        </td>

        聚類、推薦機制和分類的前,自動執行特性選擇

        </td> </tr>

        Stochastic Singular Value Decomposition

        </td>

        Stochastic SVD

        </td>

         

        </td>

         

        </td> </tr>

        Principal Components Analysis

        </td>

        主成分分析

        </td>

         

        </td>

         

        </td> </tr>

        Independent Component Analysis

        </td>

        獨立成分分析

        </td>

         

        </td>

         

        </td> </tr>

        Gaussian Discriminative Analysis

        </td>

        高斯判別分析

        </td>

         

        </td>

         

        </td> </tr>

        進化算法

        </td>

        Watchmaker已經被移除

        </td>


         

        </td>

         

        </td> </tr>

        推薦/協同過濾

        </td>

        非分布式基于Taste的推薦

        </td>

        Taste (UserCF, ItemCF, SlopeOne

        </td>

         

        </td>

         

        </td> </tr>

        Item-Based 協同過濾

        </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>

        Collections

        </td>


         

        </td>

         

        </td> </tr>

        Map-Reduce算法

        </td>



         

        </td>

         

        </td> </tr>

        向量相似度計算

        </td>

        Row Similarity Job

        </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 推薦

        5.     mahout-collections 

        6.     Creating Vectors from Text  

        7.     Recommender First Timer FAQ  (初次使用推薦系統的問答)

        8.     Apache Mahout: 適合所有人的可擴展機器學習框架

        9.     Apache Mahout 簡介 

        10.   探索推薦引擎內部的秘密

        第1部分:推薦引擎初探  

        第2部分:深入推薦引擎相關算法-協同過濾

        第3部分:深入推薦引擎相關算法-聚類  

        11.    聚類(Leo Zhang) :

        1)      K-Means Clustering

        2)     Canopy Clustering

        3)     Spectral Clustering

        12.    分類SVM(Leo Zhang) :

        1)      線性學習器

        2)     求解二次規劃問題

        3)     核函數

        4)     統計學習理論

        5)     軟間隔優化

        Coordinate Desent Method

         Sequential Minimal Optimization    

         Improvements to Platt’s SMO Algorithm  

         漫談Clustering (Free Mind)

         K-means

        Expectation Maximization

        Spectral Clustering

         Hierarchical Clustering

         百度百科:機器學習

        (官網) 分類的兩個例子

        1)      Twenty Newsgroups

        2)     Wikipedia Bayes Example

         Visualizing Clusters

         Cluster Dumper

         本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
         轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
         本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
sesese色