所有分类
  • 所有分类
  • 精品课程
  • 课件资料
  • 标准资料
  • 资料手册
  • 图纸模型
  • 解说文案

推荐系统开发实战 高阳团 2019年版

推荐系统开发实战  

作者:高阳团 

出版时间: 2019年版 

内容简介 

  本书是一本关于推荐系统从入门到进阶的读物,采用“理论+实践”的形式展开,不仅对各种推荐算法进行了介绍,还对算法所涉及的基础理论知识进行了补充。 全书共分为3篇: – 第1篇是“推荐系统的背景介绍和入门”,包括走进推荐系统、搭建你的一个推荐系统和推荐系统常用数据集介绍; – 第2篇是“推荐系统涉及的算法介绍、冷启动和效果评估”,包括数据挖掘——让推荐系统更懂你、基于用户行为特征的推荐、基于标签的推荐、基于上下文的推荐、基于点击率预估的推荐、推荐系统中的冷启动和推荐系统中的效果评估; – 第3篇是“推荐系统实例”,包括搭建一个新闻推荐系统、搭建一个音乐推荐系统、搭建一个图书推荐系统和业界推荐系统架构介绍。 书中的实例开发几乎都是基于公开的数据集进行的,当然也涉及一些网络中获取的数据,其最终目的都是让读者能够更好地理解推荐算法,更直观地认识推荐系统。 书中所涉及的数据集和实例代码都会提供给读者,这不仅在一定程度上方便读者学习,而且为以后的工作提供了便利。 本书非常适合有一定编程基础、对推荐系统感兴趣的读者,希望用推荐算法完成设计的高等院校计算机或电子信息专业的学生,准备开设推荐系统实践课的授课老师,学习过Python、希望进一步提升编程水平的开发者,初学数据挖掘、机器学习的算法工程师或数据分析师阅读使用。 

目录 

==第1篇 推荐系统的背景介绍和入门 

第1章 走进推荐系统2 

1.1 从“啤酒与尿布”到推荐系统的前世今生2 

∣1.1.1 “啤酒与尿布”2 

∣1.1.2 推荐系统的前世今生2 

1.2 推荐系统可以做什么4 

∣1.2.1 什么是推荐系统4 

∣1.2.2 在电商类产品中的应用5 

∣1.2.3 在社交类产品中的应用6 

∣1.2.4 在音乐类产品中的应用8 

∣1.2.5 在视频类产品中的应用9 

∣1.2.6 在阅读类产品中的应用10 

∣1.2.7 在服务类产品中的应用11 

1.3 学习本书需要的技能12 

∣1.3.1 Python基础12 

∣1.3.2 数据结构14 

∣1.3.3 工程能力15 

1.4 如何学习本书17 

1.5 知识导图17 

第2章 搭建你的第一个推荐系统19 

2.1 实例1:搭建电影推荐系统19 

∣2.1.1 利用Netflix数据集准备数据19 

∣2.1.2 使用Python表示数据21 

∣2.1.3 选择相似用户23 

∣2.1.4 为用户推荐相似用户喜欢的电影24 

∣2.1.5 分析效果25 

2.2 总结:搭建推荐系统的一般步骤26 

∣2.2.1 准备数据26 

∣2.2.2 选择算法27 

∣2.2.3 模型训练28 

∣2.2.4 效果评估28 

2.3 知识导图28 

第3章 推荐系统常用数据集介绍29 

3.1 MovieLens数据集29 

∣3.1.1 README29 

∣3.1.2 ratings.dat29 

∣3.1.3 movies.dat31 

∣3.1.4 users.dat34 

3.2 Book-Crossings数据集36 

∣3.2.1 BX-Book-Ratings.csv37 

∣3.2.2 BX-Books.csv39 

∣3.2.3 BX-Users.csv39 

3.3 Last.fm数据集41 

∣3.3.1 README41 

∣3.3.2 artists.dat41 

∣3.3.3 tags.dat41 

∣3.3.4 user_artists.dat42 

∣3.3.5 user_friends.dat42 

∣3.3.6 uses_taggedartists.dat42 

∣3.3.7 user_taggedartists-timestamps.dat42 

3.4 FourSquare数据集43 

∣3.4.1 users.dat43 

∣3.4.2 venues.dat44 

∣3.4.3 checkins.dat44 

∣3.4.4 socialgraph.dat44 

∣3.4.5 ratings.dat45 

3.5 Kaggle比赛之retailrocket 数据集46 

∣3.5.1 events.csv47 

∣3.5.2 category_tree.csv49 

∣3.5.3 item_properties.csv49 

3.6 场景分析49 

3.7 知识导图50 

==第2篇 推荐系统涉及的算法介绍、冷启动和效果评估 

第4章 数据挖掘——让推荐系统更懂你52 

4.1 数据预处理52 

∣4.1.1 数据标准化52 

∣4.1.2 实例2:实现数据的标准化54 

∣4.1.3 数据离散化56 

∣4.1.4 实例3:基于信息熵的数据离散化58 

∣4.1.5 数据抽样61 

∣4.1.6 数据降维63 

∣4.1.7 实例4:对鸢尾花数据集特征进行降维66 

∣4.1.8 数据清理68 

∣4.1.9 相似度计算71 

4.2 数据分类74 

∣4.2.1 K最近邻算法74 

∣4.2.2 实例5:利用KNN算法实现性别判定75 

∣4.2.3 决策树算法77 

∣4.2.4 实例6:构建是否举办活动的决策树80 

∣4.2.5 朴素贝叶斯算法84 

∣4.2.6 实例7:基于朴素贝叶斯算法进行异常账户检测87 

∣4.2.7 分类器的评估90 

∣4.2.8 实例8:scikit-learn中的分类效果评估92 

4.3 数据聚类92 

∣4.3.1 kMeans算法92 

∣4.3.2 实例9:基于kMeans算法进行商品价格聚类95 

∣4.3.3 二分-kMeans算法98 

∣4.3.4 实例10:基于二分-kMeans算法进行商品价格聚类99 

∣4.3.5 聚类算法的评估100 

∣4.3.6 实例11:scikit-learn中的聚类效果评估102 

4.4 关联分析103 

∣4.4.1 Apriori算法103 

∣4.4.2 实例12:基于Apriori算法实现频繁项集和相关规则挖掘106 

4.5 知识导图110 

第5章 基于用户行为特征的推荐111 

5.1 用户行为分类111 

5.2 基于内容的推荐算法112 

∣5.2.1 算法原理——从“构造特征”到“判断用户是否喜欢”112 

∣5.2.2 实例13:对手机属性进行特征建模115 

5.3 实例14:编写一个基于内容推荐算法的电影推荐系统117 

∣5.3.1 了解实现思路117 

∣5.3.2 准备数据119 

∣5.3.3 选择算法122 

∣5.3.4 模型训练122 

∣5.3.5 效果评估123 

5.4 基于近邻的推荐算法124 

∣5.4.1 UserCF算法的原理——先“找到相似同户”,再“找到他们喜欢的物品”124 

∣5.4.2 ItemCF算法的原理——先“找到用户喜欢的物品”,再“找到喜欢物品的相似物品”131 

5.5 实例15:编写一个基于UserCF算法的电影推荐系统137 

∣5.5.1 了解实现思路138 

∣5.5.2 准备数据138 

∣5.5.3 选择算法138 

∣5.5.4 模型训练138 

∣5.5.5 效果评估141 

5.6 实例16:编写一个基于ItemCF算法的电影推荐系统141 

∣5.6.1 了解实现思路141 

∣5.6.2 准备数据142 

∣5.6.3 选择算法142 

∣5.6.4 模型训练142 

∣5.6.5 效果评估144 

5.7 对比分析:UserCF算法和ItemCF算法145 

5.8 对比分析:基于内容和基于近邻146 

5.9 基于隐语义模型的推荐算法147 

∣5.9.1 LFM概述147 

∣5.9.2 LFM算法理解148 

5.10 实例17:编写一个基于LFM的电影推荐系统152 

∣5.10.1 了解实现思路152 

∣5.10.2 准备数据152 

∣5.10.3 选择算法154 

∣5.10.4 模型训练155 

∣5.10.5 效果评估158 

5.11 知识导图159 

第6章 基于标签的推荐161 

6.1 基于标签系统的应用161 

∣6.1.1 Last.fm161 

∣6.1.2 Delicious162 

∣6.1.3 豆瓣163 

∣6.1.4 网易云音乐163 

6.2 数据标注与关键词提取165 

∣6.2.1 推荐系统中的数据标注165 

∣6.2.2 推荐系统中的关键词提取167 

∣6.2.3 标签的分类168 

6.3 实例18:基于TF-IDF算法提取商品标题的关键词169 

∣6.3.1 了解TF-IDF算法169 

∣6.3.2 认识商品标题描述170 

∣6.3.3 提取关键词170 

6.4 基于标签的推荐系统174 

∣6.4.1 标签评分算法174 

∣6.4.2 标签评分算法改进176 

∣6.4.3 标签基因177 

∣6.4.4 用户兴趣建模177 

6.5 实例19:利用标签推荐算法实现艺术家的推荐178 

∣6.5.1 了解实现思路178 

∣6.5.2 准备数据178 

∣6.5.3 选择算法179 

∣6.5.4 模型训练179 

∣6.5.5 效果评估182 

6.6 知识导图182 

第7章 基于上下文的推荐184 

7.1 基于时间特征的推荐184 

∣7.1.1 时间效应介绍184 

∣7.1.2 时间效应分析187 

∣7.1.3 推荐系统的实时性194 

∣7.1.4 协同过滤中的时间因子195 

7.2 实例20:实现一个“增加时间衰减函数的协同过滤算法”197 

∣7.2.1 在UserCF算法中增加时间衰减函数197 

∣7.2.2 在ItemCF算法中增加时间衰减函数199 

7.3 基于地域和热度特征的推荐200 

∣7.3.1 为什么要将地域和热度特征放在一起201 

∣7.3.2 解读LARS中的地域特征202 

∣7.3.3 基于地域和热度的推荐算法204 

7.4 实例21:创建一个基于地域和热度的酒店推荐系统206 

∣7.4.1 了解实现思路206 

∣7.4.2 准备数据207 

∣7.4.3 选择算法207 

∣7.4.4 模型训练207 

∣7.4.5 效果评估210 

7.5 其他上下文信息210 

7.6 知识导图210 

第8章 基于点击率预估的推荐212 

8.1 传统推荐算法的局限和应用212 

∣8.1.1 传统推荐算法的局限212 

∣8.1.2 传统推荐算法的应用213 

8.2 点击率预估在推荐系统中的应用214 

8.3 集成学习214 

∣8.3.1 集成学习概述215 

∣8.3.2 Boosting算法(提升法)215 

∣8.3.3 Bagging算法(自助法)216 

∣8.3.4 Stacking算法(融合法)217 

8.4 导数、偏导数、方向导数、梯度217 

∣8.4.1 导数217 

∣8.4.2 偏导数217 

∣8.4.3 方向导数218 

∣8.4.4 梯度219 

∣8.4.5 梯度下降219 

8.5 GBDT算法222 

∣8.5.1 Gradient Boosting方法223 

∣8.5.2 决策树223 

∣8.5.3 GBDT算法的原理224 

8.6 实例22:基于GBDT算法预估电信客户流失227 

∣8.6.1 了解实现思路227 

∣8.6.2 准备数据229 

∣8.6.3 选择算法232 

∣8.6.4 模型训练232 

∣8.6.5 效果评估234 

8.7 回归分析236 

∣8.7.1 什么是回归分析236 

∣8.7.2 回归分析算法分类236 

8.8 Logistic Regression算法237 

∣8.8.1 Sigmoid函数237 

∣8.8.2 LR为什么要使用Sigmoid函数239 

∣8.8.3 LR的算法原理分析240 

8.9 实例23:基于LR算法预估电信客户流失241 

∣8.9.1 准备数据242 

∣8.9.2 选择算法242 

∣8.9.3 模型训练242 

∣8.9.4 效果评估243 

8.10 GBDT+LR的模型融合245 

∣8.10.1 GBDT+LR模型融合概述245 

∣8.10.2 为什么选择GBDT和LR进行模型融合246 

∣8.10.3 GBDT+LR模型融合的原理246 

8.11 实例24:基于GBDT和LR算法预估电信客户流失247 

∣8.11.1 准备数据247 

∣8.11.2 选择算法247 

∣8.11.3 模型训练247 

∣8.11.4 效果评估248 

8.12 知识导图251 

9章 推荐系统中的冷启动252 

9.1 冷启动介绍252 

∣9.1.1 冷启动的分类252 

∣9.1.2 冷启动的几种实现方法252 

9.2 基于热门数据推荐实现冷启动253 

9.3 利用用户注册信息实现冷启动254 

∣9.3.1 注册信息分析254 

∣9.3.2 实例25:分析Book-Crossings数据集中的共性特征255 

∣9.3.3 实现原理261 

9.4 利用用户上下文信息实现冷启动261 

∣9.4.1 设备信息特征262 

∣9.4.2 时间地域信息特征262 

∣9.4.3 实现原理262 

9.5 利用第三方数据实现冷启动263 

9.6 利用用户和系统之间的交互实现冷启动263 

∣9.6.1 实现原理263 

∣9.6.2 推荐系统中实时交互的应用265 

∣9.6.3 实例26:用户实时交互推荐系统设计266 

9.7 利用物品的内容属性实现冷启动267 

∣9.7.1 物品内容属性分析267 

∣9.7.2 物品信息的使用268 

9.8 利用专家标注数据实现冷启动269 

9.9 知识导图270 

10章 推荐系统中的效果评估271 

10.1 用户调研271 

10.2 在线评估272 

10.3 在线实验方式——ABTest272 

∣10.3.1 ABTest介绍272 

∣10.3.2 ABTest流程272 

∣10.3.3 ABTest的注意事项273 

10.4 在线评估指标274 

∣10.4.1 点击率275 

∣10.4.2 转化率275 

∣10.4.3 网站成交额275 

10.5 离线评估276 

10.6 拆分数据集276 

∣10.6.1 留出法277 

∣10.6.2 K-折交叉验证法277 

∣10.6.3 自助法277 

∣10.6.4 实例27:使用sklearn包中的train_test_split()函数进行数据集拆分278 

∣10.6.5 实例28:使用sklearn包中的KFold()函数产生交叉验证数据集280 

∣10.6.6 实例29:使用sklearn包中的cross_validate()函数演示交叉验证281 

10.7 离线评估指标282 

∣10.7.1 准确度指标之预测分类准确度指标282 

∣10.7.2 实例30:使用sklearn包中的metrics类预测分类准确度288 

∣10.7.3 准确度指标之预测评分准确度指标290 

∣10.7.4 实例31:使用sklearn包中的metrics类预测评分准确度290 

∣10.7.5 准确度指标之预测评分关联指标291 

∣10.7.6 准确度指标之排序准确度指标292 

∣10.7.7 非准确度指标292 

10.8 知识导图296 

第3篇 推荐系统实例 

第11章 实例32:搭建一个新闻推荐系统298 

11.1 准备数据298 

11.2 预处理数据298 

∣11.2.1 原始数据加工298 

∣11.2.2 新闻热度值计算299 

∣11.2.3 新闻相似度计算300 

∣11.2.4 指定标签下的新闻统计302 

11.3 设计架构303 

11.4 实现系统304 

∣11.4.1 准备环境304 

∣11.4.2 实现后端接口304 

∣11.4.3 实现前端界面309 

∣11.4.4 系统演示309 

11.5 代码复现311 

∣11.5.1 安装依赖311 

∣11.5.2 数据入库312 

∣11.5.3 修改配置312 

∣11.5.4 项目启动312 

11.6 知识导图312 

第12章 实例33:搭建一个音乐推荐系统314 

12.1 准备数据314 

12.2 预处理数据314 

∣12.2.1 计算歌曲、歌手、用户相似度314 

∣12.2.2 计算用户推荐集315 

∣12.2.3 数据导入数据库319 

12.3 设计架构321 

12.4 实现系统322 

∣12.4.1 准备环境322 

∣12.4.2 实现后端接口322 

∣12.4.3 实现前端界面324 

∣12.4.4 系统演示324 

12.5 代码复现327 

∣12.5.1 安装依赖327 

∣12.5.2 数据入库327 

∣12.5.3 修改配置327 

∣12.5.4 项目启动328 

12.6 知识导图328 

第13章 实例34:搭建一个图书推荐系统329 

13.1 准备数据329 

13.2 预处理数据329 

∣13.2.1 原始数据加工329 

∣13.2.2 数据导入数据库331 

∣13.2.3 模型准备331 

13.3 设计架构332 

13.4 实现系统333 

∣13.4.1 准备环境333 

∣13.4.2 实现后端接口333 

∣13.4.3 实现前端界面336 

∣13.4.4 系统演示336 

13.5 代码复现338 

13.6 知识导图338 

第14章 业界推荐系统架构介绍340 

14.1 概述340 

14.2 架构介绍340 

14.3 召回内容342 

14.4 计算排序343 

∣14.4.1 特征工程343 

∣14.4.2 特征分类343 

∣14.4.3 排序算法343 

14.5 物品过滤和展示344 

∣14.5.1 物品过滤344 

∣14.5.2 物品展示344 

14.6 效果评估344 

14.7 知识导图345 

书籍下载:

资源下载
下载价格10 金币
VIP免费
0
没有账号?注册  忘记密码?

社交账号快速登录