可能的問題和分析
一:數據量有多大?
rating.csv:行爲數據
user.csv:屬性數據
-3列數據:用戶ID,圖書ID, 用戶對圖書的評分
-圖書數: 1000個
-用戶數: 200個
-記錄數: 4000次的圖書評分
-3列數據:用戶ID,用戶性別,用戶年齡
–用戶數: 200個
–用戶性別: M爲男性,F爲女性
–用戶年齡: 11-80歲之間
二:如何實現7種組合算法?
useCF:歐幾里得類似度+最近鄰居+user推薦器
useCF:對數似然+最近鄰居+user推薦器
useCF:歐幾里得類似度+最近鄰居+布爾型user推薦器
itemCF:+item推薦器item推薦器
itemCF:對數似然++item推薦器
itemCF:+item推薦器+布爾型item推薦器
slopeone
基於用戶的協同過濾算法:
–用戶類似度距離+ 最近鄰算法+ 推薦算法(有評分,無評分)
基於物品的協同過濾算法:
–用戶類似度距離+ 推薦算法(有評分,無評分)
三:對於項目如何實現算法評估?
查準率:被檢索到的,越相關的越多越好,丌相關的越少越好,越大越好。
召回率(查全率):被檢索到的越多越好,越大越好。
四:算法的實現方式:單機仍是分佈式實時?
系統架構:Mahout中推薦過濾算法支持單機算法和分步式算法兩種
注意本項目基於單機算法
由於:
1,數據很小,最大幾G,在單機內存計算,支持多種算法推薦算法,
部署運行簡單,但處理數據量有限。
2,hadoop只支持僅有的幾種算法,不必定能知足本項目的7種組合算法
部署運行復雜,支持海量數據
五:具體步驟算法
(1)mvn archetype:generate apache
-DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.chennan.mymahout 架構
-DartifactId=myMahout -DpackageName=org.chennan.mymahout maven
-Dversion=1.0-SNAPSHOT -DinteractiveMode=false分佈式
注意:在正式輸入的時候不要留空格,我這裏只是爲了保持美感oop
(2)cd myMahout
spa
(3)mvn clean install
code