1

我正在嘗試爲產品推薦的基於項目的協作過濾編寫一些代碼。該輸入具有買方作爲行和列作爲產品,具有簡單的0/1標誌來指示買方是否購買了物品。輸出是一個列表類似項目的一個給定的購買,按餘弦相似性排序。評估針對二進制(是/否)產品推薦的基於項目的協作過濾的性能

我正在嘗試測量幾個不同實現的準確性,但我不確定最佳方法。我發現大多數文獻都提到使用某種形式的均方誤差,但當您的協作過濾算法預測評分(例如4星滿分)時,這看起來更適用,而不是推薦用戶購買哪些項目。

一種方法我正在考慮是如下...

  • 分割的數據爲訓練/套抵抗,訓練數據
  • 對於組中的每一個項目(A),從選擇數據火車抵抗設置,用戶買了
  • 確定哪些A-買家的比例買了,購房者的前3名的建議之一

上面似乎有點武斷,但我認爲這可能是使用當在相同的數據上訓練時,比較兩種不同的算法。

回答

1

其實你的方法與文獻類似,但我認爲你應該考慮使用召回和精確度,因爲大多數論文都是這樣。

http://en.wikipedia.org/wiki/Precision_and_recall

而且如果你將使用Apache Mahout的存在對該類召回率和準確的執行情況; GenericRecommenderIRStatsEvaluator

0

測試推薦人的最佳方法是始終手動驗證結果。但是某種自動驗證也很好。

本着推薦系統的精神,您應該及時拆分數據,並查看算法是否可以預測用戶未來購買什麼。這應該爲所有用戶完成。

不要指望它可以預測一切,100%的正確性通常是過度擬合的標誌。

相關問題