基于云模型的协同过滤推荐算法代码实现

基于云模型的协同过滤推荐算法代码实现

一、云模型介绍

针对传统推荐系统数据稀疏、相似性计算方法导致共同评分用户少的问题,提出利用云模型概念与定量数值转换的优势,研究云模型(百度百科查看概念)的个性化推荐改进算法。

云模型所表达的概念的整体特性可以用云的数字特征来反映,云用期望、熵、超熵这3个数字特征来整体表征一个概念。

二、推荐实现思路     

1、构建用户-电影评分矩阵;

2、定义用户的电影评分频度向量(用户对所有电影的1-5分值打分次数),用户评分频度向量不关心具体项目的评分,而是关心用户对项目集的评分特征;

3、利用逆向云算法,根据用户的评分频度向量计算出云的三个参数表示的用户评分偏好,称为用户评分特征向量,记为[if !msEquation][if !vml]

[endif][endif]其中,期望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

你可能感兴趣的:(基于云模型的协同过滤推荐算法代码实现)