说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

1.项目背景

基于物品的协同过滤推荐(Item-based CF)的假设原理为:跟你喜欢的东西相似的东西你也很有可能喜欢。基于物品的协同过滤推荐并不通过对item的评分来评测item之间的相关性,而是基于item的相似性做推荐,其核心就是:给用户推荐他之前喜欢的物品的相似物品。

首先使用训练数据得到用户的偏好信息矩阵和物品的特征信息矩阵,然后计算用户对未进行评分电影的偏好分,最后选取前K个推荐给用户

本项目应用物品的协同过滤推荐算法进行相似度计算、给用户推荐及模型评估。

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

数据详情如下(部分展示):

数据解释:例如 1::1193::5::978300760

该条记录队列的列是 UserID::MovieID::Rating::Timestamp,表示id为1的用户在978300760时对1193电影评分为5。

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

关键代码:

3.2 数据缺失查看

使用Pandas工具的info()方法查看数据信息:

从上图可以看到,总共有3个变量,数据中无缺失值,共1000209条数据。

关键代码:

4.探索性数据分析

4.1 评分变量直方图

用Matplotlib工具的hist()方法绘制直方图:

从上图可以看到,评分平均记录主要集中在3.0~4.5之间。

5.特征工程

5.1 数据集拆分

通过splitData()方法进行数据集拆分,关键代码如下:

6.构建电影推荐系统

主要使用基于物品的协同过滤推荐算法构建电影推荐系统。

6.1 相似度计算

关键代码:

相似度计算结果展示:

6.2 对用户进行推荐

对用户1进行推荐,推荐结果如下:

通过上表可以看出,是按照推荐值的大小从高到低进行排序的。

7.模型评估

7.1 评估指标及结果

评估指标主要包括准确率。

从上表可以看出,准确率为19%,作为一个推荐系统,在数据量有限的情况下,此效果良好。

关键代码如下:

8.结论与展望

综上所述,本项目采用了基于物品的协同过滤推荐算法来构建电影推荐系统,主要包括数据集的读取、拆分、探索性数据分析、物品相似度计算、对用户进行推荐、模型的评估等,最终证明了我们提出的模型效果较好。

本次机器学习项目实战所需的资料,项目资源如下:

项目说明:
链接:https://pan.baidu.com/s/1dW3S1a6KGdUHK90W-lmA4w 
提取码:bcbp

Python实现基于物品的协同过滤推荐算法构建电影推荐系统相关推荐

  1. Python实现基于用户的协同过滤推荐算法构建电影推荐系统

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 基于用户的协同过滤推荐(User-based CF)的原理假设: ...

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

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

  3. 基于物品的协同过滤推荐算法_《推荐系统实践》3.基于物品的协同过滤算法

    基于物品的协同过滤算法(item-based collaborative filtering,以下简称ItemCF)算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品. 不过,ItemCF算法并不 ...

  4. 基于机器学习实现协同过滤推荐算法的电影推荐系统

    推荐算法在互联网行业的应用非常广泛,今日头条.美团点评等都有个性化推荐,推荐算法抽象来讲,是一种对于内容满意度的拟合函数,涉及到用户特征和内容特征,作为模型训练所需维度的两大来源,而点击率,页面停留时 ...

  5. 在线新闻推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法、机器学习、分布式大数据、人工智

    在线新闻推荐网 Python+Django+Mysql开发技术 基于用户.物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法.机器学习.分布式大数据.人工智 ...

  6. 在线音乐推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化音乐推荐系统 音乐网站+协同过滤推荐算法 机器学习、分布式大数据、人工智能开发

    在线音乐推荐网 Python+Django+Mysql开发技术 基于用户.物品的协同过滤推荐算法 个性化音乐推荐系统 音乐网站+协同过滤推荐算法 机器学习.分布式大数据.人工智能开发 MusicRec ...

  7. 【知识发现】基于物品的协同过滤推荐算法python实现

    基于物品的协同过滤算法(Item-Based Collaborative Filtering)是目前业界应用最多的算法,亚马逊.Netflix.Hulu.YouTube都采用该算法作为其基础推荐算法. ...

  8. 基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms”

    最近参加KDD Cup 2012比赛,选了track1,做微博推荐的,找了推荐相关的论文学习."Item-Based Collaborative Filtering Recommendati ...

  9. 基于物品 的协同过滤推荐算法(ItemCF)

    首先给用户行为定义相应的权重积分 算法思路:给用户推荐那些和他们之前喜欢的物品相似的物品 实例如下: 算法步骤: 用户对于商品的权重分数,为用户对商品操作的分数相加. 余弦相似度计算计算逻辑,以物品1 ...

最新文章

  1. 深入理解Aho-Corasick自动机算法
  2. 转:WF中的跟踪服务(1):Sql跟踪数据库表,视图,存储过程等相关说明
  3. Vue+Openlayers实现显示图片并分优先级多图层加载
  4. python中的正则表达式是干嘛的_操作python中的正则表达式(上)
  5. 从percona server 5.7换到mariadb 10.2
  6. 如何批量查询PR值、百度权重、百度快照及收录量,用BlueCatTools批量网站查询工具
  7. PTA—念数字(C语言)两种方法
  8. Can‘t we be more objective?:Is huawei better than iphone?
  9. 【codecombat】 试玩全攻略 第十六关 近战
  10. poj 3660 Cow Contest floyd 传递闭包!!基础
  11. JAVA中方法和变量在继承中的覆盖和隐藏
  12. 解决adobe reader卸载不干净的问题
  13. 小程序 | 微信小程序布局左对齐自动换行
  14. java ts文件 播放_前端如何播放m3u8格式的视频
  15. git分支的拉取和获取master分支最新代码
  16. 链游和元宇宙大热,互联网游戏从业者们如何看待它们? |链捕手
  17. 肠道微生物群在冠心病中的作用
  18. 短信在用户运营、召回流失用户中的重要作用
  19. 猿创征文|pandas实现将矩阵导出到excel+对矩阵进行连接
  20. 从源头解决问题,而不是曲线救国

热门文章

  1. 2020第二篇TED:The case for student health days
  2. Word模板文件,替换内容 文本、图片、表格、列表、区块、嵌套等
  3. python绘制社会关系网络图_python networkx 包绘制复杂网络关系图的实现
  4. 安卓开发使用ttf文字_打破限制,自定义MIUI12相册文字水印字体
  5. htc x920e刷android7.0,HTC X920E刷boot文件的教程
  6. android imageview图片失真,imageView 图片变形失真
  7. CS229part3广义线性模型
  8. linux zend studio 10,Zend Studio 10发布,可编写mobile apps
  9. 企业为什么要申报高新技术企业
  10. python3调用企业微信api!开发一款属于自己的企业微信