人工智能学习记录_电影推荐系统设计及实现(三)
第三章 系统设计
开发平台
随着云计算的不断发现、很多业务已经已经本地机房搬迁到了各种云环境、之前很多需要自己本地构筑的服务、现在已经有很多的SaaS服务。最经典的是Office365的服务、之前很多企业都是自己构筑本地的Exchange服务器。现在更多的选择是使用Office365在线的邮箱服务。机器学习做为新代一技术的代表当然也有很多在线的平台可以使用
阿里云机器学习服务
华为云机器学习服务
Azure 机器学习服务
当然还有其它的公有云平台也有提供相应AI 服务、目前做IT界最火热的技术、各个互联网络公司都在推出自己的AI服务、每家都有自己的优势和缺点:
从本次课题的测试来讲、所需要的要是一个一条化的、方便的快捷的平台服务。经过对几家平台的试用对比最终选择了Azure.从算法和功能来对比阿里云和Azure差不多,但是阿里云的机器学习服务为了性能的保障需要使用MaxCompute 服务、对于数据的处理没有办法直接使用python函数调用、需要通过OSS服务上传脚本来进行执行、操作很烦琐。最重要的一点是Azure是免费的、而阿里云的PAI和MaxCompute再加上开通的GPU每天要不少钱。测试能省则省、节约是第一要素。
环境搭建
安装Anaconda
安装扩展包
启用Jupyter nootbook
获取Azure 中的访问权限
目前Azure提供了二种语言的访问方式---此课题中使用Python
使用本地笔记本调用Azure 中的数据进行测试
本课题中后续的数据处理操作、是直接在本地进行测试、然后再使用Azure中的nootbook 各种组件进行训练。
数据集信息
本次使用MovieLens数据集。
数据集下载地址:https://www.kaggle.com/rounakbanik/the-movies-dataset
完整数据集:由270,000名用户应用于45,000部电影的26,000,000个评分和750,000个评价信息。
测试数据集:由700个用户组成的100,000个评分和1,300个评价信息应用于9,000部电影。
数据集结构
数据集处理
数据文件推荐系统不能拿来直接取使用、需要对数据集进行一些调整、下面简单介绍一对movies_mdtadata.csv的文件中内容的调整、使用本地的notebook进行远程调用
movies_metadata.csv的处理示例
读取文件并查看文件的结构信息
查看文件每列名称信息、每列可以理解为是一个特征信息
把数据集中的评价数及评价分数转换为数据类型、方便后面进行计算
提取电影上线的年份信息(实现用户可以根据年份信息查找电影信息)
处理后的年份结构信息
查看每一部电影评价的人数
从这个信息可以看出、每部电影的评价数差别是很大的、在使用评分进行评价的时候、结果会非常不好、所以我要分二部分处理、第一过滤评价数少的电影不参与到训练中、第二重新生成带有权重的评分
带有权重的评价的计算公式如下:
处理完成后的结果如下:
把genres中的信息字典信息处理为列表
把生成好的文件存储并覆盖旧版本的文件
- 点赞
- 收藏
- 关注作者
评论(0)