说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
在线推荐系统是许多电子商务网站的事情。推荐系统广泛地向最适合其口味和特征的顾客推荐产品,根据真实世界中的用户-图书交互记录,利用深度学习相关技术,建立一个精确稳定的图书推荐系统,预测用户可能会进行阅读的书籍。
本项目应用深度学习嵌入模型来实现图书推荐系统。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
数据详情如下(部分展示):
编号 |
字段 |
备注 |
1 |
book_id |
|
2 |
user_id |
|
3 |
rating |
|
部分数据展示:
3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
从上图可以看到,总共有3个字段。
关键代码:
3.2缺失值统计
使用Pandas工具的info()方法统计每个特征缺失情况:
从上图可以看到,数据不存在缺失值,总数据量为981756条。
关键代码:
3.3查看数据集形状
通过Pandas工具的shape属性来查看数据集的形状:
关键代码如下:
统计用户数量和图书数量:
关键代码如下:
4.探索性数据分析
4.1.分组可视化
通过评分进行分组统计,如下图所示:
5.特征工程
5.1 数据集拆分
数据集分为训练集和测试集,80%训练集和20%测试集,关键代码如下:
6.构建图书推荐模型
主要使用深度学习嵌入模型算法,用于目标推荐。
6.1 建立初始嵌入模型
编号 |
模型名称 |
参数 |
1 |
自定义嵌入模型 |
Input层 |
2 |
Embedding层 |
|
3 |
Flatten层 |
|
4 |
adam优化器 |
|
5 |
mean_squared_error均方误差损失函数 |
模型概要信息:
6.2 训练集损失图
6.3 模型评估
通过上图可以看出,此模型的损失为0.9201。
6.4 模型预测
6.5 模型优化
编号 |
模型名称 |
参数 |
1 |
自定义嵌入模型 |
Input层 |
2 |
Embedding层 |
|
3 |
Flatten层 |
|
4 |
Concatenate连接层 |
|
5 |
Dense全连接层 |
|
6 |
adam优化器 |
|
7 |
mean_squared_error均方误差损失函数 |
模型概要信息:
7.模型评估与预测
7.1 训练集损失图
7.2 评估指标及结果
通过上图可以看到,优化后的模型损失为0.7458,模型损失比初始化模型有所降低。
7.3 模型预测
通过上图可以看出,可以根据预测出来的评分来进行为用户推荐图书,例如:可以按照用户分组排序,评分从高到低排序,把评分高的图书推荐给用户。
8.结论与展望
综上所述,本项目采用深度学习算法来构建图书推荐系统,最终证明了我们提出的模型效果良好,可用于日常生活中进行建模预测,以提高生产价值。
# 本次机器学习项目实战所需的资料,项目资源如下: # 项目说明: # 获取方式一: # 项目实战合集导航: https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2 # 获取方式二: 链接:https://pan.baidu.com/s/1QvfRfG54Occ_suTZToU2Og 提取码:bksa