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

协同过滤算法主要分为基于用户的和基于物品的两种。基于用户的算法通过用户历史行为发现相似兴趣,如阅读、点赞等,来推荐内容。基于物品的算法则分析用户对不同物品的评价,找出相似物品进行推荐。通过欧几里得距离和皮尔逊相关度评价用户之间的关系,以实现精准的个性化推荐。在实际应用中,例如通过散点图和相关系数来识别用户群体,为用户推荐相似兴趣的文章。
摘要由CSDN通过智能技术生成

协同过滤推荐算法讲解Demo

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

协同算法:预测和推荐

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

基于用户的协同算法

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

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

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

寻找偏好相似的用户

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

Screen-Shot-2018-04-16-at-4.31.21-PM.png

从表格中很难直观发现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则形成了另一个群体。

%E5%AF%BB%E6%89%BE%E5%81%8F%E5%A5%BD%E7%9B%B8%E4%BC%BC%E7%9A%84%E7%94%A8%E6%88%B7.jpg

欧里几得距离评价

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

%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%B7%E8%B7%9D%E7%A6%BB%E8%AF%84%E4%BB%B7.png

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

Screen-Shot-2018-04-16-at-4.39.46-PM.png

皮尔逊相关度评价

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

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

Screen-Shot-2018-04-16-at-4.47.53-PM.png

皮尔逊相关系数

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

Screen-Shot-2018-04-16-at-4.49.12-PM.png

相关系数

0.8~1.0 极强相关

0.6~0.8 强相关

0.4~0.6 中等程度相关

0.2~0.4 弱相关

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

Screen-Shot-2018-04-16-at-4.53.24-PM.png

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值