基於使用者的協同過濾演算法

2022-07-26 03:21:10 字數 408 閱讀 9953

下面講解的鏈結

過程:1發現興趣相似的使用者

通常用 jaccard (傑卡德相似度)公式或者余弦相似度計算兩個使用者之間的相似度。設 n(u) 為使用者 u 喜歡的物品集合,n(v) 為使用者 v 喜歡的物品集合,那麼 u 和 v 的相似度是多少呢?

如何一下子計算所有使用者之間的相似度呢?為計算方便,通常首先需要建立「物品—使用者」的倒排表,如下圖所示:

然後對於每個物品,喜歡他的使用者,兩兩之間相同物品加1。例如喜歡物品 a 的使用者有 a 和 b,那麼在矩陣中他們兩兩加1。如下圖所示:

計算使用者兩兩之間的相似度,上面的矩陣僅僅代表的是公式的分子部分。以余弦相似度為例,對上圖進行進一步計算:

協同過濾演算法 基於使用者

背景 使用基於使用者的協同過濾演算法進行 讀取檔案,處理每一行資料,把使用者id和 id轉化為long型別 因為協同過濾模型這兩列為long類 並轉化為datamodel 模型輸入資料 轉化出使用者評分矩陣 沒有的填充0 如下表所示 部分 使用者id id110 100101 102103 1041...

協同過濾 基於使用者的協同過濾itemCF

基於使用者的協同過濾演算法也被稱為最近鄰協同過濾或knn k nearest neighbor,k最近鄰演算法 其核心思想就是,首先根據相似度計算出目標使用者的鄰居集合,然後用鄰居使用者評分的加權組合來為目標使用者作推薦。通常這些演算法都可以總結成三步 首先,使用使用者已有的評分來計算使用者之間的相...

基於使用者的協同過濾演算法

最近正在讀項亮博士的 推薦系統實踐 人民郵電出版社,這本書應當是目前國內為數不多的介紹推薦演算法的了。目前正在學習基於使用者的協同過濾演算法 usercf user based collaborative filtering 該演算法是推薦系統中最古老的演算法,標誌著推薦系統的誕生,該演算法在199...