日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

云计算数据挖掘Mahout下的机器学习

發布時間:2024/10/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云计算数据挖掘Mahout下的机器学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一個開源項目,提供一些可擴展的機器學習領域經典算法的實現,旨在幫助開發人員更加方便快捷地創建智能應用程序,并且,在 Mahout 的最近版本中還加入了對Apache Hadoop 的支持,使這些算法可以更高效的運行在云計算環境中。

在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最大的優點就是基于hadoop實現,把很多以前運行于單機上的算法,轉化為了MapReduce模式,這樣大大提升了算法可處理的數據量和處理性能。

?

Mahout下個性化推薦引擎Taste介紹

Taste是?Apache Mahout?提供的一個個性化推薦引擎的高效實現,該引擎基于java實現,可擴展性強,同時在mahout中對一些推薦算法進行了MapReduce編程模式轉化,從而可以利用hadoop的分布式架構,提高推薦算法的性能。

?

在Mahout0.5版本中的Taste,?實現了多種推薦算法,其中有最基本的基于用戶的和基于內容的推薦算法,也有比較高效的SlopeOne算法,以及處于研究階段的基于SVD和線性插值的算法,同時Taste還提供了擴展接口,用于定制化開發基于內容或基于模型的個性化推薦算法。

?

Taste?不僅僅適用于?Java?應用程序,還可以作為內部服務器的一個組件以?HTTP?和?Web Service?的形式向外界提供推薦的邏輯。Taste?的設計使它能滿足企業對推薦引擎在性能、靈活性和可擴展性等方面的要求。

?

下圖展示了構成Taste的核心組件:

?

?

?

從上圖可見,Taste由以下幾個主要組件組成:

?

DataModel:DataModel是用戶喜好信息的抽象接口,它的具體實現支持從指定類型的數據源抽取用戶喜好信息。在Mahout0.5中,Taste?提供JDBCDataModel?和?FileDataModel兩種類的實現,分別支持從數據庫和文件文件系統中讀取用戶的喜好信息。對于數據庫的讀取支持,在Mahout 0.5中只提供了對MySQL和PostgreSQL的支持,如果數據存儲在其他數據庫,或者是把數據導入到這兩個數據庫中,或者是自行編程實現相應的類。

?

??? UserSimilarit和ItemSimilarity:前者用于定義兩個用戶間的相似度,后者用于定義兩個項目之間的相似度。Mahout支持大部分駐留的相似度或相關度計算方法,針對不同的數據源,需要合理選擇相似度計算方法。

?

??? UserNeighborhood:在基于用戶的推薦方法中,推薦的內容是基于找到與當前用戶喜好相似的“鄰居用戶”的方式產生的,該組件就是用來定義與目標用戶相鄰的“鄰居用戶”。所以,該組件只有在基于用戶的推薦算法中才會被使用。

?????Recommender:Recommender是推薦引擎的抽象接口,Taste?中的核心組件。利用該組件就可以為指定用戶生成項目推薦列表。

?

Mahout源碼目錄說明

mahout項目是由多個子項目組成的,各子項目分別位于源碼的不同目錄下,下面對mahout的組成進行介紹: 1、mahout-core:核心程序模塊,位于/core目錄下; 2、mahout-math:在核心程序中使用的一些數據通用計算模塊,位于/math目錄下; 3、mahout-utils:在核心程序中使用的一些通用的工具性模塊,位于/utils目錄下; 上述三個部分是程序的主題,存儲所有mahout項目的源碼。 另外,mahout提供了樣例程序,分別在taste-web和examples目錄下: 4、taste-web:利用mahout推薦算法而建立的基于WEB的個性化推薦系統demo; 5、examples:對mahout中各種機器學習算法的應用程序; 6、bin:bin目錄下只有一個名為mahout的文件,是一個shell腳本文件,用于在hadoop平臺的命令行下調用mahout中的程序; 在buildtools、eclipse和distribution目錄下,有mahout相關的配置文件 7、buildtools目錄下是用于核心程序構建的配置文件,以mahout-buildtools的模塊名稱在mahout的pom.xml文件中進行說明; 8、eclipse下的xml文件是對利用eclipse開發mahout的配置說明; 9、distribution目錄下有兩個配置文件:bin.xml和src.xml,進行mahou安裝時的一些配置信息。 (在開發的時候一般很少對這個目錄下的文件進行修改,所以不用太關注,知道大體什么意思就ok) 另 外,在mahout的下載地址下可以看到有個文件夾與mahout處于同一級別,它是mahout項目的分支項目—mahout- collections,用于實現了核心程序中使用的集合類操作,該模塊獨立于mahout進行開發,是對標準jdk中關于集合類的修改,使其可以適應數 據密集型項目的開發。

在windows xp下利用Eclipse構建Mahout

1. Mahout構建的先決條件

1) JDK,使用1.6版本。需要說明一下,因為要基于Eclipse構建,所以在設置path的值之前要先定義JAVA_HOME變量。

2) Maven,使用2.0.11版本或以上。在eclipse上安裝maven插件—m2eclipse。

2. mahout源碼獲取

與其他Apache下開源項目類似,可以有兩種獲取源碼的方法:

一是通過Subversion檢出,檢出命令和地址如下

svn co http://svn.apache.org/repos/asf/mahout/trunk

二是直接下載發行版本,下載地址:http://apache.etoak.com//mahout/,打開該地址,可以看到如下目錄組織:

到發文為止mahout的發行版本到0.5,點擊進入0.5/,進入源碼頁,如下圖:

紅色框中的就是mahout的源碼壓縮文件,可以根據安裝的解壓工具選擇任意一個進行下載。

另外,下載發行版也可以到maven的在線資源庫中下載,地址如下:

http://repo2.maven.org/maven2/org/apache/mahout/

3. mahout構建

1)解壓mahout源碼壓縮文件,了解目錄結構

利用解壓工具把下載的壓縮包解壓到當前目錄,點擊進入,可以看到如下目錄結構(使用subversion檢出的可以在檢出的當前目下看到如下目錄結構):

2)把源碼導入eclipse中

打開eclipse,點擊file->import 在開打的對話框中,選擇導入maven項目如下圖,然后點擊next

通過瀏覽方式,確定mahout源碼的根目錄,如下圖,然后點擊finish:

至此,通過eclipse的package explore 可以查看導入的mahout項目的組成,如下圖:

3)運行編譯

運行時,點開mahout-distribution-0.5,選中其下的pom.xml文件,然后右鍵選擇run as項,就可以對mahout進行構建、編譯、測試以及安裝等操作。

如果只是要對某個子項目進行操作,可以點擊子項目的pom.xml進行運行。

轉載于:https://www.cnblogs.com/wusam/p/3581803.html

總結

以上是生活随笔為你收集整理的云计算数据挖掘Mahout下的机器学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。