电影推荐算法

文章介绍了如何对电影推荐系统的数据进行预处理,包括将类别字段如性别、年龄和电影风格转成独热编码,处理UserID和MovieID,以及对多标签字段如Genres和Title进行特殊编码,为神经网络模型训练做准备。
摘要由CSDN通过智能技术生成

模型训练

下载数据集,解压到项目目录下的./ml-1m文件夹下。数据集分用户数据users.dat、电影数据movies.dat和评分数据ratings.dat。
**

数据集分析

**
user.dat:分别有用户ID、性别、年龄、职业ID和邮编等字段。
数据集网站地址为http://files.grouplens.org/datasets/movielens/ml-1m-README.txt对数据的描述:
使用UserID、Gender、Age、Occupation、Zip-code分别表示用户ID、性别、年龄、职业和邮政编码,M表示男性,F表示女性。年龄范围表示:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
UserID、Gender、Age和Occupation都是类别字段,其中邮编字段不使用。rating.dat数据分别有用户ID、电影ID、评分和时间戳等字段。数据集网站的描述:UserID范围为16040;MovieID范围为13952;Rating表示评分,最高5星;Timestamp为时间戳,每个用户至少20个评分。查看ratings.dat的前5个数据,结果如图4-7所示,相关代码如下:
在这里插入图片描述
评分字段Rating是监督学习的目标,时间戳字段不使用。movies.dat数据集分别有电影ID、电影名和电影风格等字段。数据集网站的描述:
使用MovieID、Title和Genres,其中MovieID和Genres是类别字段,Title是文本。Title与IMDB提供的标题相同(包括发行年份),Genres是管道分隔,并且选自以下流派:

数据预处理
通过研究数据集中的字段类型,发现有一些是类别字段,将其转成独热编码,但是UserID、MovieID的字段会变稀疏,输入数据的维度急剧膨胀,所以在预处理数据时将这些字段转成数字。操作如下:
UserID、Occupation和MovieID不变。
Gender字段:需要将F和M转换成0和1。
Age字段:转成7个连续数字0~6。
Genres字段:是分类字段,要转成数字。将Genres中的类别转成字符串到数字的字典,由于部分电影是多个Genres的组合,将每个电影的Genres字段转成数字列表。
Title字段:处理方式与Genres一样,首先,创建文本到数字的字典;其次,将Title中的描述转成数字列表,删除Title中的年份。
统一Genres和Title字段长度,这样在神经网络中方便处理。空白部分用PAD对应的数字填充。实现数据预处理相关代码如下:在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值