您好,登錄后才能下訂單哦!
基于itemBase的協同過濾是怎么樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
一、什么是協同過濾
舉個簡單的例子,我們網購的時候當我們購買了一件物品A,網站基本上都會做這樣一個提示,購買該物品的人還購買了。。然后是一個推薦清單,這就是典型的協同過濾,這具體是怎樣實現的呢?下面是我自己實現一個協同過濾的案例。
二、算法原理
基于item的協同過濾,通過用戶對不同item的評分來評測item之間的相似性,基于item之間的相似性做出推薦。簡單來講就是:給用戶推薦和他之前喜歡的物品相似的物品。
對購買了物品A的用戶C做推薦時:對于物品A和物品B在用戶B同現共1次,對于物品A和物品C在用戶A、B同現共2次,所以物品A和C的相似度2大于物品A和B的相似度1,所以將物品C推薦給用戶C。
那么,問題來了如果用戶C表現出對物品B的喜好程度程度大于對物品C的喜好程度,那么我們再用戶C做推薦時是推薦物品B還是推薦物品C呢?
三、矩陣模型
為了解決上述問題,引入了用戶評分矩矩陣。(上圖)左側是物品的同現矩陣,中間是用戶對物品的評分矩陣,這樣一來物品之間的相似度和用戶對物品的喜好程度兩個維度就都有了,兩個矩陣相乘得到物品的推薦矩陣。物品之間的相似度越高左側對應的值就越大;用戶對物品的的喜好度越大則用戶評分矩陣中對應的值也就越大;最終二者乘積就越大,這樣在推薦矩陣中分值越高的推薦度也就越大。
四、實現步驟
建立物品的同現矩陣
建立用戶對物品的評分矩陣
計算得出推薦結果矩陣
推薦結果矩陣=物品的同現矩陣* 用戶對物品的評分矩陣
過濾與排序
五、mapreduce的job流程及進出數據格式
第二個job:計算物品同現次數,得到物品的同現矩陣
第三個job:用戶的評分矩陣(根據用戶點擊、收藏、購買等行為得到用戶對物品的打分情況,具體分值根據具體情況自定義)
第四個job:矩陣相乘得到推薦矩陣
第五個job:過濾(過濾掉已經購買過的item)與排序(降序)
看完上述內容,你們掌握基于itemBase的協同過濾是怎么樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。