![AI源码解读:卷积神经网络(CNN)深度学习案例:Python版](https://wfqqreader-1252317822.image.myqcloud.com/cover/399/47216399/b_47216399.jpg)
上QQ阅读APP看书,第一时间看更新
1.3.1 数据预处理
本部分包括数据集获取和数据预处理。
1.数据集获取
MovieLens 1M数据集包括6000个用户对4000部电影的1亿条评论。下载地址为:http://files.grouplens.org/datasets/movielens/ml-1m.zip。数据集分为用户数据、电影数据和评分数据。相关代码如下:
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P17_1826.jpg?sign=1739476166-3CfvF3zsAHGHqzRMarzCGS4b4qscaDpu-0-150419ba097c55d0ad0909f5bbcade13)
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P18_7324.jpg?sign=1739476166-Y1QI8WseD3SHSye6wAjQiQGDqUb2FfiH-0-83d126e9a1bebb2de5c7c4143d056f18)
成功下载并提取数据集的提示信息如图1-4所示。
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P19_1834.jpg?sign=1739476166-gUtbQoovj41P2YTe6w7zcMEIsl270Nkq-0-0c61f8c4b6317dbcf6ee175ed246f12e)
图1-4 成功下载并提取数据集
2.数据预处理
本数据集由3个文件构成,不同文件内数据的格式不同,需要不同的方法对其进行预处理,如图1-5所示。
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P19_1839.jpg?sign=1739476166-nlswVLBVlxwt98KvkaXdLi1eoWa9OOUL-0-264215fdb5c689b15a289a3f1946f2ea)
图1-5 预处理前的电影数据
电影ID(Movie ID)本身为数字不用处理,电影类别(Genres)是分类字段,需要转换为数字。首先,将Genres中的类别转换成字符串到数字的字典;其次,将每个电影的Genres字段转换成数字列表,因为有些电影是多个Genres的组合。去掉电影名称(Title)中的年份,方法与类别字段一样,创建文本到数字的字典;最后,将Title中的描述转换成数字的列表。
注意:Genres和Title字段长度应统一,以便于在神经网络中处理,不足部分用数字填充。相关代码如下:
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P19_7325.jpg?sign=1739476166-gqgjUveyjmp4ePb3dK9vONKCi3rUYmCD-0-e390d97dd84c849cc4e03bf41b17819f)
经过预处理后的电影数据如图1-6所示,全部由数字组成,便于处理。
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P20_1873.jpg?sign=1739476166-8R1I19Zn1nL2br7mXacuJs444prNEvHM-0-6abe5fe58b2754a658f7ec79b701e9c0)
图1-6 经过预处理后的电影数据