推薦系統之基於使用者的協調過濾

2021-07-31 14:11:22 字數 1166 閱讀 2276

在如何海量的資料時代,如何從海量的商品中選擇相關產品?在1100萬首itunes曲目中,肯定有一部分**是你特別喜愛的,那麼該如何找到它們呢?

- 專家點評推薦(影評家)

- 通過商品本身尋找(我喜歡披頭四的一張**,所以會認為他們的另一張**也不錯)

資料探勘不僅僅是用來推薦商品,或是單單給商人增加銷量,同時也能擴充套件我們的能力,讓我們能夠處理海量的資料,如讓潘多拉**站提供個性化的**列表。資料探勘的重點在於找到資料中的模式。

利用某興趣相投、擁有共同經驗之群體的喜好來推薦使用者感興趣的資訊,個人通過合作的機制給予資訊相當程度的回應(如評分)並記錄下來以達到過濾的目的進而幫助別人篩選資訊,回應不一定侷限於特別感興趣的,特別不感興趣資訊的紀錄也相當重要。

使用者的瀏覽記錄

其他瀏覽過該商品的使用者的瀏覽記錄

這裡可以用距離表示,即找到距離最近的兩個使用者。

計算距離的演算法有以下幾種:曼哈頓距離

歐幾里得距離(利用勾股定理計算兩點間的直線距離)

皮爾遜相關係數(描述兩個變數之間的線性相關程度 評價標準之間的差異)

實現:

余弦相似度(不足在於並沒有很好的解決分數貶值問題)

區別:

在資料完整「密集」的情況下使用曼哈頓和歐幾里得距離效果最好。

當資料存在「分數膨脹」問題,使用皮爾遜相關係數效果最好。

在資料稀疏,非零值較總體要少得多的情況下使用余弦相似度效果最好。

k最鄰近演算法

如果只依靠最相似的乙個使用者來做推薦,這個使用者有些特殊的偏好,會直接反映在推薦內容裡。解決之一就是找尋多個相似的使用者。

實現**:

推薦系統 基於使用者的協調過濾

作為推薦系統 這一系列的第二篇文章,我們今天主要來聊一聊目前比較流行的一種推薦演算法 協調過濾 當然,這裡我們只講理論,並不會涉及到相關 或者相關框架的使用,在這一系列的後續文章,如果可能,我們可以將我們的所有理論知識整合一下,實踐乙個 推薦系統的 實戰。顧名思義,協同過濾就是指使用者可以齊心協力,...

推薦演算法之基於使用者的協調過濾

基於使用者的的協調過濾演算法是推薦統統最古老的演算法,簡稱usercf。該演算法的誕生一定程度上標誌著推薦系統的誕生。本文將對usercf演算法原理進行講解,並且基於movielens資料集給出實現 供大家交流學習。找到和目標使用者興趣相似的使用者集合 找到這個集合中使用者喜歡的且目標使用者沒有聽說...

基於使用者的協調推薦演算法

這個是實驗周拓展的任務。做的是基於使用者的協同過濾演算法,參考的是 集體智慧型程式設計 第一章的內容,選取的資料是moives的100k的資料。詳細可以見實驗周的實驗報告。coding utf 8 import codecs from math import sqrt 皮爾遜相關度評價 defsim...