0

我正在推薦系統上進行一些探索性工作,並且一直在閱讀有關基於用戶,基於項目和SVD算法的協作過濾技術。我也在嘗試R的推薦程序包。推薦系統 - 將交易次數轉換爲星級評分

文獻中的一個顯而易見的假設是用戶數據已經基於評級量表標記了項目,例如,介於1至5星之間。我正在研究用戶數據沒有評分而只是交易的問題。例如,如果我想向用戶推薦餐館,我唯一的數據是他多久訪問過其他餐館。

如何將這些「交易」計數轉換爲可用於期望獲得固定比例評級的推薦算法的評級?我想到的一種方法是簡單的裝箱:

0 stars = 0-1 visits 
1 star = 2-3 visits 
... 
5 stars = 10+ visits 

但是,這似乎並不會奏效。例如,如果有人只去過一家餐館,他可能仍然會很喜歡它。

任何幫助,將不勝感激。

+1

請閱讀[**關於SO **](http://stackoverflow.com/tour):「包括你已經嘗試過的細節,不要詢問... [q]你沒有問過的問題試圖找到答案(展示你的作品!)「。 – Henrik

+0

不到3年。 – Henrik

回答

1

我會嘗試不同的方法。正如你所說,只有一次訪問可能表明用戶仍然喜歡餐廳,但你不知道肯定。您的目標不是針對單個用戶而是針對所有用戶進行優化。因此,爲此,您可以將數據分解爲訓練和測試數據。訓練不同比例的訓練數據並測試測試數據。

的不同的尺度可以是

  • 二進制標度(0:從未訪問過,1:訪問)。這主要用於在線商店(購買或不購買)。將一次訪問支持你的保證。

  • 您提供的比例或其他範圍爲5星。您也可以使用超過5顆星。我可能不會組0-1訪問。

應該選擇最準確的方法。

0

這裏有一個想法:用戶訪問過的餐廳零次或一次不告訴你他們喜歡什麼。他們多次訪問過的餐館都告訴你很多。爲什麼不尋找類似於那些客戶最經常去的餐廳?通過這種方式,您使用的是正面信息(他們喜歡什麼),但沒有負面信息,因爲無論如何您都無法訪問它。

如果你絕對不得不推斷一些連續的措施,我認爲只考慮過去行爲的另一次訪問的傾向是明智的。這將從先前選擇該餐廳的可能性開始(背景頻率或餐館統一),其可能性項與該餐廳的訪問次數相關。用這種方式,用戶訪問餐館的可能性就越大,他們再次訪問的可能性就越大。

+0

謝謝。當你說「爲什麼不尋找類似於顧客最經常去的餐廳?」,這意味着基於項目的協作過濾。但是研究文獻和我使用的軟件(R recommenderlab)均聲明餐廳需要達到同樣的規模,例如我所問的1-5星級。 – stackoverflowuser2010

+0

好的,我看到了問題。您希望使用其他用戶的「評分」來推薦給定用戶應該做什麼。我的觀點依然存在 - 你無法根據頻率做出星級評定。爲什麼不代表用戶的餐廳分佈(訪問頻率)而不是一組餐廳:星級評分?據推測,這些技術可以適應這種設置 –