Spark 2.2.0 文檔中文版 Collaborative Filtering 協同過濾 JAVA推薦系統


  協同過濾常用於推薦系統,這項技術旨在填補 丟失的user-item關聯矩陣 的條目,spark.ml目前支持基於模型的協同過濾(用一些丟失條目的潛在因素在描述用戶和產品)。spark.ml使用ALS(交替最小二乘法)去學習這些潛在因素。在spark.ml中的實現有以下參數:

numBlocks:塊的數量,user和item將被分成多少塊,以並行計算。(默認10)

ranK:模型隱含因素的個數。(默認10)

maxIter:模型的最大迭代次數。(默認10)

regParam :ALS的正則化參數。(默認1.0)

implicitPrefs :使用顯式反饋還是隱式反饋。(默認false,即顯式反饋)

alpha:信心權重所應達到的基准線。(默認1.0)

nonnegative :是否使用非負數的約束。(默認false)

  注意:基於dataFrame - API的ALS目前只支持整數型的userID和itemID,其他數字類型也支持,但是取值范圍必須在整數之內。

顯式反饋VS隱式反饋

  標准的基於矩陣分解的協同過濾方法對待user-item矩陣的條目項 是顯式地給出user對item的偏好,例如,用戶給電影評級。

  而現實生活中常見案例是只能有隱式反饋(例如:視圖,點擊鼠標,購買,喜歡,分享……)。在spark.ml中使用的方法是:對隱式反饋數據集的協同過濾。實際上,這種方法不是直接對數據矩陣進行建模,而是將數據視為代表用戶行為意願強度的數字(例如點擊的次數或某人累積觀看電影的時間)。然后,這些數字與觀察到的用戶偏好的置信水平相關,而不是給予項目的明確評級。 然后,該模型嘗試找到可用於預測用戶對項目的預期偏好的潛在因素。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM