如果我有以下的用戶提供電影以下評級,他們觀看:協同過濾算法
User1 Movie1-5 Movie2-4
User2 Movie2-5 Movie2-3 Movie3-4
User3 Movie1-4 Movie2-4 Movie4-4
我將如何使用協同過濾提出MOVIE3爲user1,如何計算USER1給MOVIE3的概率一個4或更好?
如果我有以下的用戶提供電影以下評級,他們觀看:協同過濾算法
User1 Movie1-5 Movie2-4
User2 Movie2-5 Movie2-3 Movie3-4
User3 Movie1-4 Movie2-4 Movie4-4
我將如何使用協同過濾提出MOVIE3爲user1,如何計算USER1給MOVIE3的概率一個4或更好?
那麼有幾種不同的方式來使用協作過濾來生成推薦,我將解釋基於用戶和基於項目的協作過濾方法。這些方法最常用於推薦算法。
基於用戶的協作過濾
這基本上計算用戶之間的相似性。相似性可以是皮爾森相關或餘弦相似。有更多的相關數字,但那些是最常用的。 This文章就如何計算這個問題給出了一個很好的解釋。
基於用戶的過濾確實帶來了一些挑戰。首先是數據稀疏問題,這是在有很多電影和少量評論的情況下發生的。這使得計算用戶之間的相關性變得困難。 This維基百科頁面解釋了更多關於此的信息。
其次是可伸縮性問題。當擁有數以百萬計電影的數百萬用戶時,計算用戶之間相關性的性能將大幅下降。
項目基於協同過濾
此方法從基於用戶的濾波不同,因爲它計算電影,而不是用戶之間的相似性。然後,您可以使用此相似性來預測用戶的評分。我發現this演示文稿解釋得非常好。
基於項目的過濾器的性能優於基於用戶的過濾器,但它們也遭受同樣的問題,但稍微少一點。
基於內容的過濾
看到你的數據,這將是困難的,因爲你必須從用戶的數據太少,產生建議。我建議使用基於內容的過濾器,直到您有足夠的數據來使用協作過濾方法。這是一個非常簡單的方法,它基本上查看用戶的個人資料並將其與電影的某些標籤進行比較。 This頁面更詳細地解釋它。
我希望這能回答你的一些問題!
http://stackoverflow.com/help/mcve – xxbbcc