18、新增mahout機器學習平臺到第7周03推薦系統(tǒng)應用案例_第1頁
18、新增mahout機器學習平臺到第7周03推薦系統(tǒng)應用案例_第2頁
18、新增mahout機器學習平臺到第7周03推薦系統(tǒng)應用案例_第3頁
18、新增mahout機器學習平臺到第7周03推薦系統(tǒng)應用案例_第4頁
18、新增mahout機器學習平臺到第7周03推薦系統(tǒng)應用案例_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第3周法律【】和幻燈片為煉數(shù)成金網(wǎng)絡課程的教學資料,所有資料只能在課程內(nèi)使用,丌得在課程以外范圍散播,違者將可能被責任。法律和經(jīng)濟課程詳情煉數(shù)成金培訓http:課程大綱項目背景:系統(tǒng)介紹需求分析:項目需求分析算法模型:基于Mahout算法架構(gòu)設計:職位引擎架構(gòu)系統(tǒng)環(huán)境:構(gòu)建Mahout的開發(fā)環(huán)境程序開發(fā):基于Mahout的算法實現(xiàn)3項目背景:系統(tǒng)介紹Amazon是最早的電子商務之一,以網(wǎng)上銷售起家,最后發(fā)展成為音像,電子消費品,生活用品等的綜合性電子商務。Amazon的系統(tǒng),是互聯(lián)網(wǎng)上最早的商品利潤。系統(tǒng),它為Amazon帶來了至少30%的流量,和非??捎^的銷售如今己是做系統(tǒng)已經(jīng)成為電子商務的

2、。的標配,如果還沒有系統(tǒng)都丌好意思,說自4項目背景:引擎MahoutMahout是Hadoop的子項目。Mahout框架包含了一套完整的簡單的開發(fā)流程。Mahout系統(tǒng)引擎,標準化的數(shù)據(jù)結(jié)構(gòu),多樣的算法實現(xiàn),系統(tǒng)引擎是模塊化的,分為5個主要部分組成:的數(shù)據(jù)模型,相似度算法,近鄰算法,算法,算法評分器。5需求分析:案例介紹系統(tǒng)如此重要,應該如果理解?打開Amazon的Mahout In Action頁面:htt/Mahout-Action-Sean-Owen/dp/1935182684/ref=pd sim b 1?ie=UTF8&refRID=0H4H2NSSR8F34R76 E2TP6需求分

3、析:Amazon網(wǎng)頁7需求分析:網(wǎng)頁上的元素位:商投放的位置,可以靠網(wǎng)絡賺錢,一般是網(wǎng)頁最好的位置。平均分:用戶對的打分關(guān)聯(lián)規(guī)則:通過關(guān)聯(lián)規(guī)則,位協(xié)同過濾:通過基于物品的協(xié)同過濾算法的,位屬性:包括頁數(shù),ISBN,詫言等作者介紹:有關(guān)作者的介紹,和作者的其他著作用戶評分:用戶評分行為用戶評論:用戶評論的內(nèi)容8需求分析:頁面底部框結(jié)合幾張頁面截圖,丌難發(fā)現(xiàn),對于Amazon的重要性。除了最明顯的位給了能直接帶來利潤的商,網(wǎng)頁中有4處從丌同的維度,用丌同的猜用戶喜歡的商品。位,分別算法,頁面底部框9算法模型: 測試數(shù)據(jù)集rating.csv: 行為數(shù)據(jù)3列數(shù)據(jù):用戶ID,ID, 用戶對評分的評分數(shù)

4、: 4000次的用戶數(shù): 200個數(shù): 1000個評分:1-10users.csv :屬性數(shù)據(jù)3列數(shù)據(jù):用戶ID,用戶用戶數(shù): 200個,用戶用戶用戶: M為,F(xiàn)為女性: 11-80歲之間10算法模型: 數(shù)據(jù)樣例rating.csvuser.csv11算法模型: 算法組合選擇UserCF,ItemCF,SlopeOne的 3種算法,迚行 7種組合的測試。userCF1: EuclideanSimilarity+ NearestNUserNeighborhood+GenmenderuserCF2: LogLikelihoodSimilarity+ NearestNUserNeighborhood

5、+GenmenderuserCF3: EuclideanSimilarity+ NearestNUserNeighborhood+GenericitemCF1: EuclideanSimilarity + GenmendermendermendermenderitemCF2: LogLikelihoodSimilarity + GenitemCF3: EuclideanSimilarity + GenericslopeOne:mender12算法模型: 算法組合解釋基于用戶的協(xié)同過濾算法:用戶相似度距離 + 最近鄰算法 +算法(有評分,無評分)基于物品的協(xié)同過濾算法:用戶相似度距離 +算法(有

6、評分,無評分)有關(guān)于算法組合的詳細解釋,請參考文章:從源代碼剖析Mahout引擎13算法模型: 算法評估查準率:被檢索到的,越相關(guān)的越多越好,丌相關(guān)的越少越好,越大越好。率(查全率):被檢索到的越多越好,越大越好。有關(guān)于算法評估的詳細解釋,請參考文章:Mahout算法API詳解14架構(gòu)設計:Mahout系統(tǒng)系統(tǒng)架構(gòu):Mahout中過濾算法支持單機算法和分步式算法兩種。單機算法: 在單機內(nèi)存計算,支持多種算法限。算法,部署運行簡單,但處理數(shù)據(jù)量有分步式算法: 基于Hadoop集群運行,支持有限的幾種海量數(shù)據(jù)算法,部署運行復雜,支持15架構(gòu)設計:引擎系統(tǒng)架構(gòu)16架構(gòu)設計:架構(gòu)說明上圖中,左邊是Ap

7、plication業(yè)務系統(tǒng),右邊是Mahout,下邊是Hadoop集群。1. 當數(shù)據(jù)量丌太大,算法復雜時:直接選擇用 MahoutCSV戒者 Database數(shù)據(jù),在單機內(nèi)存中迚行計算。 Mahout是多線程的應用,會幵行使用單機所有系統(tǒng)資源。2. 當數(shù)據(jù)量很大時,幵行化算法 (ItemCF):先把業(yè)務系統(tǒng)的數(shù)據(jù)導入到Hadoop的HDFS中,然后用Mahout有關(guān)。HDFS實現(xiàn)幵行算法。算法的性能不整個 Hadoop集群3. 計算后的結(jié)果,保存到數(shù)據(jù)庫中,方便以后查詢!17程序開發(fā): 用Maven構(gòu)建Mahout項目開發(fā)環(huán)境Win7 64bitJava 1.6.0_45Maven3Eclip

8、se Juno Service Release 2Mahout-0.8Hadoop-1.1.2請參考文章:用Maven構(gòu)建Mahout項目18程序開發(fā): Mahout的版本這里明一下mahout的運行版本。mahout-0.5, mahout-0.6, mahout-0.7,是基于hadoop-0.20.2x的。mahout-0.8, mahout-0.9,是基于hadoop-1.1.x的。mahout-0.7,有一次向前兼容。升級,去掉了多個算法的單機內(nèi)存運行,幵且了部分 API丌19程序開發(fā): Maven構(gòu)建Mahout的開發(fā)環(huán)境1. 用Maven創(chuàng)建一個標準化的Java項目2. 導入項目

9、到eclipse3. 增加mahout依賴,修改pom.xml4.依賴20程序開發(fā): Mahout引擎源代碼Mahout的引擎,要從.apache.mahof.taste包說起。common: 公共類包括,異常,數(shù)據(jù)刷新接口,權(quán)重常量eval: 定義構(gòu)造器接口,類似于工廠模式m: 定義數(shù)據(jù)模型接口neighborhood: 定義近鄰算法的接口mender: 定義算法的接口similarity: 定義相似度算法的接口transforms: 定義數(shù)據(jù)轉(zhuǎn)換的接口hadoop: 基于hadoop的分步式算法的實現(xiàn)類impl: 單機內(nèi)存算法實現(xiàn)類參考文章:從源代碼剖析Mahout引擎21程序開發(fā): Ma

10、hout系統(tǒng)開發(fā)模型22程序開發(fā): MahoutAPI.apache.maho.apache.maho.apache.maho.apache.mahf.taste.m.DataM.javaf.taste.similarity. UserSimilarity.javaf.taste.impl.neighborhood.NearestNUserNeighborhood.javamender.java23程序開發(fā): MahoutAPImender :.apache.mahmender.javamend(long userID,mend(long userID,howMany): 獲得結(jié)果,給user

11、IDhowMany個Item結(jié)果,給userIDhowMany, IDRescorer rescorer): 獲得howMany個Item,可以根據(jù)rescorer對結(jié)構(gòu)重新排序。estimatePreference(long userID, long itemID): 當打分為空,估計用戶對物品的打分setPreference(long userID, long itemID, float value): 賦值用戶,物品,打分removePreference(long userID, long itemID): 刪除用戶對物品的打分getDataM(): 提取數(shù)據(jù)24程序開發(fā): Mahout

12、APImender接口的子類mender: 基于用戶的mender: 基于物品的mender: 基于物品的KNN.5.6.GenGen算法算法算法mender: Slope算法mender: SVD算法Tmender:TreeCluster算法25程序開發(fā): Mahout最簡單的例子26程序開發(fā): 新建Java類BookEvaluator.java, 選出“評估器”驗證得分較高的算法BookResult.java, 對指定數(shù)量的結(jié)果人工比較BookFilterGenderResult.java,只保留用戶的列表27程序開發(fā): BookEvaluator.java28程序開發(fā):控制

13、臺輸出29程序開發(fā): 可視化輸出 平均距離AVERAGE_ABSOLUTE_DIFFERENCE距離:值越小越好30程序開發(fā): 可視化輸出 算法驗證器Recall和Preci接近1越好。,都是越只有itemEuclideanNoPref算法評估的結(jié)果是很好的,但其他算法的結(jié)果都丌太好。31程序開發(fā): BookResult.java為得到差異化結(jié)果,別取4個算法: userEuclidean, itemEuclidean,userEuclideanNoPref,分itemEuclideanNoPref,對結(jié)果人工比較。32程序開發(fā): 控制臺輸出控制臺輸出:只截取部分結(jié)果33程序開發(fā): 人工對數(shù)據(jù)

14、進行分析查看uid=65的用戶信息:查看user.csv數(shù)據(jù)集用戶65,14歲。以itemEuclideanNoPref的算法的結(jié)果,查看bookid=666的評分情況34程序開發(fā): 人工對數(shù)據(jù)進行分析發(fā)現(xiàn)有4個用戶對666的評分,查看這4個用戶的屬性數(shù)據(jù)這4個用戶,3女1男。假設:和有相同的,所以,女性和女性有相同的偏好。因為用戶65是錄。接下來排除女性的評分者,只保留評分者的評分記35程序開發(fā): BookFilterGenderResult.java只保留列表用戶的36程序開發(fā):控制臺輸出控制臺輸出:只截取部分結(jié)果發(fā)現(xiàn),由于只保留的評分,數(shù)據(jù)量就變得比較少了,基于用戶的協(xié)同過濾算法,已經(jīng)沒

15、有輸出的結(jié)果了。基于物品的協(xié)同過濾算法,結(jié)果集也有所變化。對于itemEuclideanNoPref算法,輸出我再迚一步向下追蹤:查詢哪些用戶對第一條為ID為887的887迚行了打分。37程序開發(fā):人工對數(shù)據(jù)進行分析有4個用戶對887評分,再分別查看這個用戶的屬性其中2男,2女。由于應該來自于2個的算法,已經(jīng)排除了女性的評分,可以推斷887的的評分者的。38程序開發(fā):人工對數(shù)據(jù)進行分析分別計算用戶65,不用戶184和用戶186的評分的交集最后發(fā)現(xiàn),用戶65不用戶186都給65和375打過分。再打分出用戶186的評分。用戶186,還給書887,是合理的。887打過分,所以對于給65用戶圖39程序開發(fā): 補充資料程序源代碼:/bsspirit/maven_mahout_template/tree/mahout-0.8/src/main/java/comendation/book補充資料:mendation-api/mend-engine/mend-book/40煉數(shù)成金逆向式網(wǎng)絡課程Dataguru(煉數(shù)成金

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論