基於概率的協同過濾推薦算法代碼實現(附源代碼)

基於概率的協同過濾推薦算法代碼實現(附源代碼)

一、雲模型介紹

針對傳統推薦系統數據稀疏、相似性計算方法導致共同評分用戶少的問題,提出利用雲模型概念與定量數值轉換的優勢,研究雲模型(百度百科查看概念)的個性化推薦改進算法。

雲模型所表達的概念的整體特性可以用雲的數字特徵來反映,雲用期望、熵、超熵這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


分享到:


相關文章: