Python实现基于内容的协同过滤推荐算法构建电影推荐系统
创始人
2024-03-17 05:22:58

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

 

1.项目背景

基于内容(Content Based,CB)的推荐算法,根据用户过去是一段时间内喜欢的物品,由此推测计算出用户的偏好,为用户推荐相似的物品,“内容就是”用户过去一段时间内喜欢的物品,以及由此计算出的用户偏好。该算法的原理非常简单,向用户推荐喜欢的Item的相似的Item。

本项目使用训练数据得到用户的偏好信息矩阵和物品的特征信息矩阵,然后计算该用户对未进行评分电影偏好程度,选取前N个用户推荐给用户。

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

2.数据获取

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

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

ratings.dat数据

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

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

users.dat数据:

 

movies.dat数据:

数据解释:例如 1::Toy Story (1995)    ::Animation|Children's|Comedy

数据列以::进行间隔,第1列为电影ID,第2列为电影名称,第3列为电影类型,类型之间使用|进行分割。

3.数据预处理

3.1 用Pandas工具查看数据

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

 关键代码:

3.2 数据缺失查看

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

 从上图可以看出每种类型的数据样本数和数据项数,数据没有缺失值。

关键代码:

4.探索性数据分析

4.1 评分变量直方图

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

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

5.特征工程

5.1 电影特征信息矩阵

关键代码如下: 

部分结果展示: 

从上图可以看出,特征矩阵是一个电影类型的矩阵信息,其中1代表属于这种电影类型,0代表不属于这种电影类型。

5.2 用户特征信息矩阵

关键代码如下: 

电影类型偏好程度,部分结果展示: 

6.构建电影推荐系统

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

6.1 获取用户喜好程度并对用户进行推荐

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

关键代码如下:

7.模型评估

7.1 评估指标及结果

评估指标主要包括准确率。随机选择100个用户进行推荐,计算推荐的准确率:

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

关键代码如下:

8.结论与展望

综上所述,本项目采用了基于内容的协同过滤推荐算法来构建电影推荐系统,主要包括数据集的读取、探索性数据分析、特征信息矩阵构建、获取用户对电影类型的喜好程度、对用户进行推荐、模型的评估等,最终证明了我们提出的模型效果较好。 

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

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

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...