基於概率的協同過濾推薦算法代碼實現(附源代碼)
一、雲模型介紹
針對傳統推薦系統數據稀疏、相似性計算方法導致共同評分用戶少的問題,提出利用雲模型概念與定量數值轉換的優勢,研究雲模型(百度百科查看概念)的個性化推薦改進算法。
雲模型所表達的概念的整體特性可以用雲的數字特徵來反映,雲用期望、熵、超熵這3個數字特徵來整體表徵一個概念。
二、推薦實現思路
1、構建用戶-電影評分矩陣;
2、定義用戶的電影評分頻度向量(用戶對所有電影的1-5分值打分次數),用戶評分頻度向量不關心具體項目的評分,而是關心用戶對項目集的評分特徵;
3、利用逆向雲算法,根據用戶的評分頻度向量計算出雲的三個參數表示的用戶評分偏好,稱為用戶評分特徵向量,記為其中,期望Ex反映了用戶對所有項目的平均滿意度,為偏好水平;熵En反映了用戶評分的集中程度,為評分偏好的離散度;He為超熵的穩定度。
4、計算兩個雲之間的相似度。兩個用戶的評分特徵向量的餘弦夾角為兩個雲之間的相似度,即兩個用戶之間的相似度;
5、得到最近鄰居;
6、得到推薦結果。
三、基於雲模型的協同過濾推薦算法的優勢
1、考慮了整體信息,避免了基於向量的相似度計算方式嚴格匹配對象屬性的不足;
2、充分利用了用戶評分數據的統計信息;
3、避免了傳統相似度比較方法中側重利用相關性而非相似性的弱點;
4、使得那些雖然缺少共同評分項目,但有整體共同偏好的用戶變得可比較;
5、更加適合用戶評分數據稀疏的現實情況。
二、推薦實現過程
1、構建用戶-電影評分矩陣,如下圖:
2、定義雲實體類,如下圖:
3、定義用戶的電影評分頻度向量,如下圖:
4、實例化雲,如下圖:
5、計算用戶之間的相似度,如下圖:
6、得到最近鄰居,如下圖:
7、得到推薦結果,如下圖:
項目源代碼:https://download.csdn.net/download/u011291472/11967865
閱讀更多 搞笑來了了 的文章