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

一、云模型介绍

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

云模型所表达的概念的整体特性可以用云的数字特征来反映,云用期望、熵、超熵这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

基于云模型的协同过滤推荐算法代码实现(附源代码)相关推荐

  1. 基于音乐/电影/图书的协同过滤推荐算法代码实现(基于用户推荐、基于项目推荐、基于SlopeOne算法推荐、基于SVD算法推荐、混合加权推荐)

    基于音乐/电影/图书的协同过滤推荐算法代码实现(基于用户推荐.基于项目推荐.基于SlopeOne算法推荐.基于SVD算法推荐.加权混合推荐) 一.开发工具及使用技术 MyEclipse10.jdk1. ...

  2. 基于KMeans聚类的协同过滤推荐算法推荐原理、过程、代码实现 Canopy聚类算法 KMeans+Canopy聚类算法 聚类算法程序实现 KMEans聚类算法代码java

    基于KMeans聚类的协同过滤推荐算法可运用于基于用户和基于项目的协同过滤推荐算法中,作为降低数据稀疏度和提高推荐准确率的方法之一,一个协同过滤推荐过程可实现多次KMeans聚类. 一.基于KMean ...

  3. 个性化试题推荐系统 协同过滤推荐算法在在线考试系统中的运用 基于用户/项目的协同过滤推荐算法 混合协同过滤推荐算法 协同过滤混合推荐算法

    个性化试题推荐系统 协同过滤推荐算法在在线考试系统中的运用 一.项目开发技术及功能介绍 1.SSH开发框架(spring+struts+hibernate) 2.js.jquery.bootstrap ...

  4. 协同过滤推荐算法代码实现

    协同过滤推荐算法代码实现 构建数据集 相似度计算 User-Based CF Item-Based CF 构建数据集 users = ["User1", "User2&q ...

  5. 基于Mahout实现协同过滤推荐算法的电影推荐系统

    1 Mahout介绍 Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更 ...

  6. 什么是协同过滤推荐算法?

    剖析千人千面的大脑--推荐引擎部分,其中这篇是定位:对推荐引擎中的核心算法:协同过滤进行深挖. 首先,千人千面融合各种场景,如搜索,如feed流,如广告,如风控,如策略增长,如购物全流程等等:其次千人 ...

  7. 基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

    基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型.项目相似度.推荐结果.平均绝对误差MAE) 一.开发工具及使用技术 MyEclipse10.jdk1.7.movielens数 ...

  8. (附源码)ssm+mysql+基于ssm协同过滤推荐算法的电影院购票系统 毕业设计131124

    基于ssm协同过滤推荐算法的电影院购票系统 摘 要 随着信息技术的飞速发展以及Internet的迅速普及,以Web2.0为代表的互联网技术使得网络数据呈爆炸式增长,越来越多的信息和服务充斥着网络.人们 ...

  9. 从原理到实现,详解基于朴素ML思想的协同过滤推荐算法

    作者丨gongyouliu 编辑丨Zandy 来源 | 大数据与人工智能(ID: ai-big-data) 作者在<协同过滤推荐算法>.<矩阵分解推荐算法>这两篇文章中介绍了几 ...

最新文章

  1. web前端开发培训完就业前景怎么样
  2. php 日志处理类,php中自定义日志处理类(类似于java中的log4j)
  3. 10 种机器学习算法的要点
  4. spring boot创建应用 端口冲突8080
  5. Usage of git
  6. 实现html锚点的两种方式
  7. qt自带静态代码检测工具_两款静态代码检测工具的对比
  8. Rabbitmq的安装及集群环境的搭建
  9. 传智播客--刘意Java基础视频-深入浅出精华版
  10. 从根本上降低采购成本,不割韭菜~
  11. php cms下载地址,phpcms将下载地址替换为图片显示
  12. java旅游管理项目描述,201Java基于SpringBoot框架的旅游管理系统
  13. python聊天小程序支持私聊和多人_Python 使用 django 框架实现多人在线匿名聊天的小程序...
  14. 抓取全网财经新闻,计算新闻相关股票的多空舆情,量化买入
  15. 870987-63-6,Ir[dF(CF3)ppy]2(dtbbpy)PF6,(Ir[dF(CF3)ppy]2(dtbpy))PF6铱催化剂
  16. 金茂服务通过聆讯:9个月营收超10亿 中化与平安人寿是股东
  17. hugetable和mysql区别_BigData-MySQL总结大全(一)苏暖人
  18. mysql中查询的第一名_使用SQL查询每科第一名及最后一名(学科、姓名、分数)...
  19. 机器学习:何为PR曲线与ROC曲线
  20. 基于STM32的简易密码锁

热门文章

  1. zynq7000 FSBL 源码分析
  2. DC-DC升压降压变换原理
  3. 零跑C11的“一骑绝尘”
  4. 牛客网试题+答案分析+大牛面试经验(1)
  5. 计算机二进制和太极,关于太极思维与二进制在什么地方可以找到更详细一点的资料?...
  6. Egret 5.3 正式发布,为重度小游戏开发带来新技能
  7. 四, 创建数据库 CREATE DATABASE
  8. Cytoscape_v3.6.1 载入插件cluego
  9. 淘宝自动发货助手插旗API接口,实现订单插旗颜色标注,自动发货接口
  10. 【有毒的设计模式】工厂方法模式