协同过滤推荐算法讲解Demo

在某项目中,在给用户推送内容的时候,需要用到协同过滤推荐算法与内容推荐算法,这里讲解一下协同过滤算法。

协同算法:预测和推荐

协同过滤算法分为两类:基于用户的协同过滤算法,和基于物品的协同过滤算法,通俗的说:人以类聚,物以群分。下面分别讲解一下这两个算法。

基于用户的协同算法

通过用户的历史数据行为数据发现用户对某种物品的内容或者物品“喜欢”(包括对物品的购买,文章的评价),并对这些物品或者物品内容进行以后的活动,(好评等等,继续浏览)。根据不同用户对相同文章或者内容态度或者偏好程度计算用户之间的关系。在有相同喜好的用户间进行文章推荐,简单的说就是如果甲乙两个用户都阅读了x,y,z三篇文章,并且点赞与评价不错,那么甲乙就属于同一种用户。

本文评分标准:总分=(用户阅读时间)/(预测阅读时间) + 点赞与否 + 转发与否 + 评论与否

阅读时间及页面停留时间。

寻找偏好相似的用户

模拟5个用户对文章进行的评分。来说明如何通过用户对不同文章的态度和偏好寻找相似的用户。

从表格中很难直观发现5个用户间的联系,我们将5个用户对2篇文章的评分用散点图表示出来后,用户间的关系就很容易发现了。在散点图中,Y轴是article1的评分,X轴是article2的评分,通过用户的分布情况可以发现,A,C,D三个用户距离较近。用户A(3.3 6.5)和用户C(3.6 6.3),用户D(3.4 5.8)对两件商品的评分较为接近。而用户E和用户B则形成了另一个群体。

欧里几得距离评价

欧几里德距离评价是一个较为简单的用户关系评价方法。原理是通过计算两个用户在散点图中的距离来判断不同的用户是否有相同的偏好。以下是欧几里德距离评价的计算公式。

通过公式我们获得了5个用户相互间的欧几里德系数,也就是用户间的距离。系数越小表示两个用户间的距离越近,偏好也越是接近。

皮尔逊相关度评价

皮尔逊相关度评价是另一种计算用户间关系的方法。他比欧几里德距离评价的计算要复杂一些,但对于评分数据不规范时皮尔逊相关度评价能够给出更好的结果。

以下是一个多用户对多篇文章进行评分的示例。这个示例比之前的两篇文章的综合评分的情况要复杂一些,但也更接近真实的情况。我们通过皮尔逊相关度评价对用户进行分组,并推荐文章。

皮尔逊相关系数

皮尔逊相关系数的计算公式如下,结果是一个在-1与1之间的系数。该系数用来说明两个用户间联系的强弱程度。

相关系数

0.8~1.0 极强相关

0.6~0.8 强相关

0.4~0.6 中等程度相关

0.2~0.4 弱相关

0.0~0.2 极弱相关或者无相关

基于内容推荐算法的java,协同过滤推荐算法Java-DEMO相关推荐

  1. 【机器学习】基于奇异值分解(SVD)的协同过滤推荐算法及python实现

    [机器学习]基于奇异值分解(SVD)的协同过滤推荐算法及python实现 一.协同过滤推荐算法 1.1.协同过滤算法的分类 1.2.相似度的度量 1.3.商品评分的预测 二.奇异值分解(SVD)在协同 ...

  2. java毕业设计成品基于SpringBoot体育用品购物商城-协同过滤推荐算法[包运行成功]

    一.项目介绍 java毕业设计计算机毕设项目之SpringBoot体育用品商城-协同过滤推荐算法,下订单模块用的是百度地图api_哔哩哔哩_bilibilijava毕业设计计算机毕设项目之Spring ...

  3. 【推荐系统算法实战】协同过滤 CF 算法(Collaborative Filtering)

    什么是协同过滤算法? 协同过滤推荐(Collaborative Filtering Recommendation). 仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法.学术界对协同过滤算法 进行 ...

  4. 毕业设计 推荐系统设计与实现 协同过滤推荐算法

    文章目录 0 前言 简介 常见推荐算法 协同过滤 分解矩阵 聚类 深度学习 协同过滤原理 系统设计 示例代码(py) 系统展示 系统界面 推荐效果 最后 0 前言

  5. Java+SSM(Spring+SpringMVC+Mybatis)个性化购物商城推荐系统 电子商务推荐系统 基于用户、项目、聚类、混合的协同过滤推荐算法WebShopRSMEx 源代码下载

    Java+SSM(Spring+SpringMVC+Mybatis)个性化购物商城推荐系统 电子商务推荐系统 基于用户.项目.聚类.混合的协同过滤推荐算法WebShopRSMEx 源代码下载 一.项目 ...

  6. svd协同过滤java实现_利用 SVD 实现协同过滤推荐算法

    奇异值分解(Singular Value Decomposition,以下简称SVD) 是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域. ...

  7. 从原理到落地,七大维度读懂协同过滤推荐算法

    作者丨gongyouliu 来源 | 大数据与人工智能 导语:本文会从协同过滤思想简介.协同过滤算法原理介绍.离线协同过滤算法的工程实现.近实时协同过滤算法的工程实现.协同过滤算法应用场景.协同过滤算 ...

  8. eq值 推荐算法_利用 SVD 实现协同过滤推荐算法

    奇异值分解(Singular Value Decomposition,以下简称SVD) 是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域. ...

  9. 推荐算法工程师必备!!!协同过滤推荐算法总结

    推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究.推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型 ...

  10. 推荐算法的介绍以及实现一个简单的推荐算法(python实现协同过滤)

    推荐算法: ​ 推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好. 发展背景: ​ 推荐算法的研究起源于20世纪 ...

最新文章

  1. 身为面向对象编程、移动计算机之父的他,为何说“计算机革命还没真正到来”?...
  2. Request参数值自动去空格
  3. 共利、共济、共赢 铸就黔南大数据时代丰碑
  4. c语言小程序hello,【北北的小程序】北のC语言第一课:helloworld
  5. 你单身,其实是个科学问题……
  6. 基于JavaSwing+mysql的图书管理系统设计和实现
  7. 高擎信息安全大旗,打造“互联网+”新服务模式
  8. 如何确保分布式场景下的并发幂等性?
  9. 管理感悟:先做难度大的工作
  10. IFC标准是什么标准?IFC标准的发展历程是怎样的?
  11. 制作可保存配置的U盘版BT4(BackTrack4 )
  12. 计算机无法安装VC2015,我电脑安装C++2015和2017安装失败怎么解决?
  13. 日本经验 | 距离最新潮的老年电竞,中国还有多远?
  14. 软件备份(拷贝构造函数)
  15. Python与爬虫有什么关系?
  16. Tensorflow Dataset API 入门
  17. 启动redis失败 Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功
  18. 自己动手写一个番茄小助手
  19. Endpoint的中文意思
  20. 集成电路:芯片时代的到来

热门文章

  1. java自行车租凭系统项目包_基于java的校园自行车租用管理系统的设计及实现终极版.pdf...
  2. java怎么查看jar包_怎么查看Jar包源码?如何打开Jar文件?
  3. AD用SmartPDF导出原理图标号显示不全解决方法
  4. 时间管理——番茄工作法
  5. 安卓手机型号修改工具(修改软件)使用方法跟步骤
  6. mysql数据表删了怎么恢复_mysql数据库数据删除怎么恢复
  7. 基于STM32移植UCGUI图形界面框架(3.9.0源码版本)
  8. IOS视频播放器VKVideoPlayer简单教程
  9. 西瓜视频 iOS 播放器技术重构
  10. FFplay使用指南