1

我正在嘗試使用ALS,但目前我的數據僅限於有關用戶購買的信息。因此,當用戶X購買商品Y(以及僅提供給該算法的這些信息)時,我試圖從Apache Spark填充ALS,等級爲1(一)。我試圖學習它(將數據分爲訓練/測試/驗證)或試圖學習所有數據,但最終我得到的預測結果非常類似,用於任何對用戶項目(值有區別在逗號後爲0,86001和0,86002的第5或第6位)。如何使用Apache Spark ALS(交錯最小二乘)算法,限制評分值

我在想這個,也許是因爲我只能提供等級爲1的等級,所以ALS不能用於這種極端情況嗎?

是否有任何額定值的技巧,所以我可以用它來解決這樣的問題(我只有信息是關於什麼被買了 - 後來我將獲得更多的數據,但在一刻我必須使用某種協作過濾直到我將獲得更多的數據 - 換句話說,我需要在啓動頁面上向用戶顯示某種建議,我選擇ALS作爲啓動頁面,但也許我使用其他的東西,究竟是什麼)?

Ofcourse我改變參數像迭代,lambda,等級。

回答

1

在這種情況下,關鍵是您必須使用trainImplicit,它忽略了Rating的值。否則,你要求它在一個世界上預測評級,在這個世界上,每個人都對所有事情進行評估1.正確的答案總是1,所以你的答案都是相似的。

+0

謝謝肖恩我會檢查這一點,並提供它的工作原理 – Adrian 2015-02-11 21:42:34

+0

快速檢查,它工作得更好。 – Adrian 2015-02-12 03:34:43

+0

非常天真的訓練(所有數據都在訓練和測試中),我的RMSE接近0.193。此外,預測有所區別,並且目前看起來它正在建立適當的關係。對我來說有趣的是,我得到了更好的高RMSE RMSE - 10或50。非常感謝您的幫助! – Adrian 2015-02-12 03:49:51