基于项目的协同过滤推荐算法原理、过程、代码实现 基于项目评分的协同过滤推荐算法程序 余弦、修正余弦、person皮尔森算法、欧几里得距离公式等相似度算法 movielens电影评分数据集

本文主要介绍基于项目的协同过滤推荐算法的推荐原理、推荐过程、代码实现。

一、基于项目的协同过滤推荐算法推荐原理

基于项目的协同过滤推荐算法也是推荐算法中最基础、最简单、很重要的算法,主要是根据用户对项目的某一种操作行为,构成项目-用户操作行为矩阵,根据操作行为矩阵计算项目之间的相似度,最终为目标用户推荐目标用户有操作行为的预测评分高的项目,作为目标用户感兴趣的项目。

二、基于项目的协同过滤推荐算法推荐过程

基于项目的协同过滤推荐算法推荐过程可分为三个步骤:构建项目-用户操作行为矩阵、计算项目之间似度、获取推荐结果。

1、构建项目-用户操作行为矩阵

我们以用户对项目的评分数据为例,M个项目和N个用户最大有M*N条项目的评分数据,记为矩阵MN,在计算机语言中可以通过一个二维数组来表达array[M][N],项目用数组下标0-M表示,用户用数组下标0-N表示,矩阵MN图形如下所示(0表示用户对项目没有评分):

评分012345N
01052035
15240000
22534214
30400412
M3042321

项目-用户评分矩阵可适用于项目-用户浏览记录矩阵、项目-用户浏览时长矩阵、项目-用户播放次数矩阵、项目-用户播放时长矩阵、项目-用户收藏记录矩阵(矩阵中的数据为0没有收藏,1已收藏)等项目-用户操作行为矩阵。

2、计算项目之间相似度

根据项目-用户评分矩阵计算项目之间的相似度有很多种算法,例如余弦算法、修正余弦算法、person皮尔森算法、欧几里得距离公式等算法,这些算法公式很固定,比较简单不再详述,可在百度百科中学习,其中根据项目-用户收藏记录矩阵计算项目之间的相似度需要用到谷本系数算法,该算法主要计算项目之间是否有相同的操作行为。

3、获取推荐结果

为目标用户推荐的项目是目标用户没有评分同时预测评分高的项目,推荐的项目有预测评分,推荐项目的预测评分等于目标用户对其他项目的评分*其他项目与推荐项目的相似度,然后乘积求和,最后乘积之和除以其他项目与推荐项目的相似度之和的值就是推荐项目的预测评分,推荐项目的预测评分越高,目标用户对推荐的项目越感兴趣。

三、代码实现

本文的实现代码以movielens电影评分数据为例,java语言开发。
下载地址:https://download.csdn.net/download/u011291472/11971298
该程序仅供学习和测试使用。

作者专业长期研究各种协同过滤推荐算法,欢迎留言、私信互相交流学习,后续会不断更新不同的协同过滤推荐算法,欢迎关注。

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linge511873822

亲的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值