新書推薦:
《
古籍善本
》
售價:HK$
537.6
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
87.4
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
《
清俗纪闻
》
售價:HK$
98.6
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
《
新加坡教育:神话与现实
》
售價:HK$
96.3
|
編輯推薦: |
推荐引擎(有时也称为推荐系统)是一个能让算法开发者预测用户会喜欢或不喜欢给定项目列表中项目的工具。它在*近几年得到了广泛应用。
本书首先介绍推荐引擎及其应用,然后循序渐进地讲解如何使用R、Python、Spark、Neo4j和Hadoop等流行框架构建推荐系统。通过本书,你会了解到每种推荐引擎的利弊以及何时使用它们,也将学会创建简单的推荐引擎、实时推荐引擎和可扩展推荐引擎等。
通过阅读本书,你将学会:
·构建你的*个推荐引擎
·了解构建推荐引擎所需的工具
·钻研推荐系统的各种技术,如协同过滤、基于内容及交叉推荐
·创建减轻你工作负担的高效决策系统
·熟悉不同框架中的机器学习算法
·通过实际代码示例精通不同版本的推荐引擎
·探索各种推荐系统并通过流行技术(如R、Python、Spark等)实现它们
|
內容簡介: |
推荐引擎,是主动发现用户当前或潜在需求,并主动推送信息给用户的信息网络。挖掘用户的喜好和需求,主动向用户推荐其感兴趣或者需要的对象。近些年该技术得到普遍使用,应用于各种应用程序中。因此,更多的开发者开始关注个性推荐引擎的搭建。本书是人工智能数据科学家Suresh Kumar Gorakala经多年实践及研究所著,由浅入深介绍了推荐引擎搭建的方法,并展望了推荐引擎的未来发展。
|
關於作者: |
技术评审员简介
前言
第1章 推荐引擎介绍1
1.1推荐引擎定义1
1.2推荐系统的必要性3
1.3大数据对推荐系统的推动作用4
1.4推荐系统类型4
1.4.1协同过滤推荐系统4
1.4.2基于内容的推荐系统5
1.4.3混合推荐系统6
1.4.4情境感知推荐系统7
1.5推荐系统技术的发展8
1.5.1Mahout在可扩展推荐系统中的应用8作者简介
技术评审员简介
前言
第1章 推荐引擎介绍1
1.1推荐引擎定义1
1.2推荐系统的必要性3
1.3大数据对推荐系统的推动作用4
1.4推荐系统类型4
1.4.1协同过滤推荐系统4
1.4.2基于内容的推荐系统5
1.4.3混合推荐系统6
1.4.4情境感知推荐系统7
1.5推荐系统技术的发展8
1.5.1Mahout在可扩展推荐系统中的应用8
1.5.2Apache Spark在可扩展实时推荐系统中的应用9
1.6本章小结12
第2章 构建第一个推荐引擎13
2.1构建基础推荐引擎14
2.1.1载入并格式化数据15
2.1.2计算用户相似度17
2.1.3为用户预测未知评级18
2.2本章小结24
第3章 推荐引擎详解25
3.1推荐引擎的发展26
3.2基于近邻算法的推荐引擎27
3.2.1基于用户的协同过滤29
3.2.2基于项目的协同过滤30
3.2.3优点32
3.2.4缺点32
3.3基于内容的推荐系统32
3.3.1用户画像生成35
3.3.2优点36
3.3.3缺点36
3.4情境感知推荐系统37
3.4.1情境定义38
3.4.2前置过滤法40
3.4.3后置过滤法40
3.4.4优点41
3.4.5缺点41
3.5混合推荐系统41
3.5.1加权法42
3.5.2混合法42
3.5.3层叠法42
3.5.4特征组合法42
3.5.5优点43
3.6基于模型的推荐系统43
3.6.1概率法44
3.6.2机器学习法44
3.6.3数学法44
3.6.4优点45
3.7本章小结45
第4章 数据挖掘技术在推荐引擎中的应用46
4.1基于近邻算法的技术47
4.1.1欧氏距离47
4.1.2余弦相似度48
4.1.3Jaccard相似度51
4.1.4皮尔逊相关系数51
4.2数学建模技术53
4.2.1矩阵分解53
4.2.2交替最小二乘法55
4.2.3奇异值分解55
4.3机器学习技术57
4.3.1线性回归57
4.3.2分类模型59
4.4聚类技术69
4.5降维71
4.6向量空间模型75
4.6.1词频75
4.6.2词频-逆文档频率76
4.7评估技术78
4.7.1交叉验证79
4.7.2正则化80
4.8本章小结82
第5章 构建协同过滤推荐引擎83
5.1在RStudio上安装recommenderlab83
5.2recommenderlab包中可用的数据集85
5.3探讨数据集88
5.4使用recommenderlab构建基于用户的协同过滤89
5.4.1准备训练数据和测试数据90
5.4.2创建一个基于用户的协同模型90
5.4.3在测试集上进行预测92
5.4.4分析数据集93
5.4.5使用k折交叉验证评估推荐模型95
5.4.6评估基于用户的协同过滤96
5.5构建基于项目的推荐模型99
5.5.1构建IBCF推荐模型100
5.5.2模型评估103
5.5.3模型准确率度量104
5.5.4模型准确率绘图105
5.5.5IBCF参数调优107
5.6使用Python构建协同过滤110
5.6.1安装必要包110
5.6.2数据源110
5.7数据探讨111
5.7.1表示评级矩阵113
5.7.2创建训练集和测试集114
5.7.3构建UBCF的步骤115
5.7.4基于用户的相似度计算115
5.7.5预测活跃用户的未知评级116
5.8使用KNN 进行基于用户的协同过滤117
5.9基于项目的推荐118
5.9.1评估模型119
5.9.2KNN训练模型120
5.9.3评估模型120
5.10本章小结120
第6章 构建个性化推荐引擎121
6.1个性化推荐系统122
6.2基于内容的推荐系统122
6.2.1构建一个基于内容的推荐系统123
6.2.2使用 R语言构建基于内容的推荐123
6.2.3使用Python语言构建基于内容的推荐133
6.3情境感知推荐系统144
6.3.1构建情境感知推荐系统144
6.3.2使用R语言构建情境感知推荐145
6.4本章小结150
第7章 使用Spark构建实时推荐引擎151
7.1Spark 2.0介绍152
7.1.1Spark架构152
7.1.2Spark组件154
7.1.3Spark Core154
7.1.4Spark的优点156
7.1.5Spark设置156
7.1.6SparkSession157
7.1.7弹性分布式数据集158
7.1.8关于ML流水线158
7.2使用交替最小二乘法进行协同过滤160
7.3使用PySpark构建基于模型的推荐系统162
7.4MLlib推荐引擎模块163
7.5推荐引擎方法164
7.5.1实现164
7.5.2基于用户的协同过滤172
7.5.3模型评估173
7.5.4模型选择和超参数调优174
7.6本章小结179
第8章 通过Neo4j构建实时推荐180
8.1图数据库种类181
8.2Neo4j183
8.2.1Cypher查询语言184
8.2.2节点语法184
8.2.3关系语法185
8.2.4构建第一个图185
8.3Neo4j Windows安装192
8.4Neo4j Linux安装194
8.4.1下载Neo4j194
8.4.2设置Neo4j195
8.4.3命令行启动Neo4j195
8.5构建推荐引擎197
8.5.1将数据加载到Neo4j197
8.5.2使用Neo4j生成推荐200
8.5.3使用欧氏距离进行协同过滤201
8.5.4使用余弦相似度进行协同过滤206
8.6本章小结209
第9章 使用Mahout构建可扩展的推荐引擎210
9.1Mahout简介211
9.2配置Mahout211
9.2.1Mahout单机模式211
9.2.2Mahout分布式模式218
9.3Mahout的核心构建模块220
9.3.1基于用户的协同过滤推荐引擎组件220
9.3.2使用Mahout构建推荐引擎223
9.3.3数据描述223
9.3.4基于用户的协同过滤225
9.4基于项目的协同过滤228
9.5协同过滤评估231
9.6基于用户的推荐评估231
9.7基于项目的推荐评估232
9.8SVD推荐系统235
9.9使用Mahout进行分布式推荐236
9.10可扩展系统的架构240
9.11本章小结241
第10章 推荐引擎的未来242
10.1推荐引擎的未来242
10.2推荐系统的发展阶段243
10.2.1一般的推荐系统243
10.2.2个性化推荐系统244
10.2.3未来的推荐系统245
10.2.4下
|
目錄:
|
作者简介
技术评审员简介
前言
第1章 推荐引擎介绍1
1.1推荐引擎定义1
1.2推荐系统的必要性3
1.3大数据对推荐系统的推动作用4
1.4推荐系统类型4
1.4.1协同过滤推荐系统4
1.4.2基于内容的推荐系统5
1.4.3混合推荐系统6
1.4.4情境感知推荐系统7
1.5推荐系统技术的发展8
1.5.1Mahout在可扩展推荐系统中的应用8
1.5.2Apache Spark在可扩展实时推荐系统中的应用9
1.6本章小结12
第2章 构建第一个推荐引擎13
2.1构建基础推荐引擎14
2.1.1载入并格式化数据15
2.1.2计算用户相似度17
2.1.3为用户预测未知评级18
2.2本章小结24
第3章 推荐引擎详解25
3.1推荐引擎的发展26
3.2基于近邻算法的推荐引擎27
3.2.1基于用户的协同过滤29
3.2.2基于项目的协同过滤30
3.2.3优点32
3.2.4缺点32
3.3基于内容的推荐系统32
3.3.1用户画像生成35
3.3.2优点36
3.3.3缺点36
3.4情境感知推荐系统37
3.4.1情境定义38
3.4.2前置过滤法40
3.4.3后置过滤法40
3.4.4优点41
3.4.5缺点41
3.5混合推荐系统41
3.5.1加权法42
3.5.2混合法42
3.5.3层叠法42
3.5.4特征组合法42
3.5.5优点43
3.6基于模型的推荐系统43
3.6.1概率法44
3.6.2机器学习法44
3.6.3数学法44
3.6.4优点45
3.7本章小结45
第4章 数据挖掘技术在推荐引擎中的应用46
4.1基于近邻算法的技术47
4.1.1欧氏距离47
4.1.2余弦相似度48
4.1.3Jaccard相似度51
4.1.4皮尔逊相关系数51
4.2数学建模技术53
4.2.1矩阵分解53
4.2.2交替最小二乘法55
4.2.3奇异值分解55
4.3机器学习技术57
4.3.1线性回归57
4.3.2分类模型59
4.4聚类技术69
4.5降维71
4.6向量空间模型75
4.6.1词频75
4.6.2词频-逆文档频率76
4.7评估技术78
4.7.1交叉验证79
4.7.2正则化80
4.8本章小结82
第5章 构建协同过滤推荐引擎83
5.1在RStudio上安装recommenderlab83
5.2recommenderlab包中可用的数据集85
5.3探讨数据集88
5.4使用recommenderlab构建基于用户的协同过滤89
5.4.1准备训练数据和测试数据90
5.4.2创建一个基于用户的协同模型90
5.4.3在测试集上进行预测92
5.4.4分析数据集93
5.4.5使用k折交叉验证评估推荐模型95
5.4.6评估基于用户的协同过滤96
5.5构建基于项目的推荐模型99
5.5.1构建IBCF推荐模型100
5.5.2模型评估103
5.5.3模型准确率度量104
5.5.4模型准确率绘图105
5.5.5IBCF参数调优107
5.6使用Python构建协同过滤110
5.6.1安装必要包110
5.6.2数据源110
5.7数据探讨111
5.7.1表示评级矩阵113
5.7.2创建训练集和测试集114
5.7.3构建UBCF的步骤115
5.7.4基于用户的相似度计算115
5.7.5预测活跃用户的未知评级116
5.8使用KNN 进行基于用户的协同过滤117
5.9基于项目的推荐118
5.9.1评估模型119
5.9.2KNN训练模型120
5.9.3评估模型120
5.10本章小结120
第6章 构建个性化推荐引擎121
6.1个性化推荐系统122
6.2基于内容的推荐系统122
6.2.1构建一个基于内容的推荐系统123
6.2.2使用 R语言构建基于内容的推荐123
6.2.3使用Python语言构建基于内容的推荐133
6.3情境感知推荐系统144
6.3.1构建情境感知推荐系统144
6.3.2使用R语言构建情境感知推荐145
6.4本章小结150
第7章 使用Spark构建实时推荐引擎151
7.1Spark 2.0介绍152
7.1.1Spark架构152
7.1.2Spark组件154
7.1.3Spark Core154
7.1.4Spark的优点156
7.1.5Spark设置156
7.1.6SparkSession157
7.1.7弹性分布式数据集158
7.1.8关于ML流水线158
7.2使用交替最小二乘法进行协同过滤160
7.3使用PySpark构建基于模型的推荐系统162
7.4MLlib推荐引擎模块163
7.5推荐引擎方法164
7.5.1实现164
7.5.2基于用户的协同过滤172
7.5.3模型评估173
7.5.4模型选择和超参数调优174
7.6本章小结179
第8章 通过Neo4j构建实时推荐180
8.1图数据库种类181
8.2Neo4j183
8.2.1Cypher查询语言184
8.2.2节点语法184
8.2.3关系语法185
8.2.4构建第一个图185
8.3Neo4j Windows安装192
8.4Neo4j Linux安装194
8.4.1下载Neo4j194
8.4.2设置Neo4j195
8.4.3命令行启动Neo4j195
8.5构建推荐引擎197
8.5.1将数据加载到Neo4j197
8.5.2使用Neo4j生成推荐200
8.5.3使用欧氏距离进行协同过滤201
8.5.4使用余弦相似度进行协同过滤206
8.6本章小结209
第9章 使用Mahout构建可扩展的推荐引擎210
9.1Mahout简介211
9.2配置Mahout211
9.2.1Mahout单机模式211
9.2.2Mahout分布式模式218
9.3Mahout的核心构建模块220
9.3.1基于用户的协同过滤推荐引擎组件220
9.3.2使用Mahout构建推荐引擎223
9.3.3数据描述223
9.3.4基于用户的协同过滤225
9.4基于项目的协同过滤228
9.5协同过滤评估231
9.6基于用户的推荐评估231
9.7基于项目的推荐评估232
9.8SVD推荐系统235
9.9使用Mahout进行分布式推荐236
9.10可扩展系统的架构240
9.11本章小结241
第10章 推荐引擎的未来242
10.1推荐引擎的未来242
10.2推荐系统的发展阶段243
10.2.1一般的推荐系统243
10.2.2个性化推荐系统244
10.2.3未来的推荐系统245
10.2.4下
|
內容試閱:
|
本书是一本推荐引擎技术的综合入门指南,介绍使用R、Python、Spark、Mahout、Neo4j技术实现诸如协同过滤、基于内容的推荐引擎和情境感知推荐引擎的内容。本书也介绍了广泛用于行业内的各种推荐引擎及其实现。当然,也涵盖了一些推荐引擎中常用的流行数据挖掘技术,并在本书最后简要讨论了推荐引擎的未来方向。
主要内容
第1章为数据科学家提供思路,也为入门者提供指南。该章主要介绍了人们生活中常常遇到的推荐引擎及其优缺点。
第2章通过一个构建电影推荐的例子简单介绍了推荐引擎,以便将读者引入到推荐引擎的世界。
第3章主要介绍目前流行的不同推荐引擎技术,如基于用户的协同过滤、基于项目的协同过滤、基于内容的推荐引擎、情境感知推荐引擎、混合推荐引擎、使用机器学习模型和数学模型的基于模型的推荐系统。
第4章阐述了推荐引擎中使用的各种机器学习技术,如相似度度量、分类、回归和降维技术,并且介绍了用以测试推荐引擎预测能力的评估指标。
第5章介绍如何使用R和Python构建基于用户与基于项目的协同过滤,并介绍了这两种语言中广泛用于构建推荐引擎的库。
第6章介绍如何使用R和Python构建个性化推荐引擎,并介绍用于构建基于内容的推荐系统和情境感知推荐引擎的各种库。
第7章介绍使用Spark和MLlib构建实时推荐系统的基础。
第8章引入GraphDB、Neo4j的概念和基础知识,以及如何使用Neo4j构建实时推荐系统。
第9章主要介绍Hadoop和Mahout在构建可扩展的推荐系统上的构建模块及体系结构,以及使用Mahout和SVD的详细实现。
第10章主要是对之前章节的总结,包括应用于构建决策系统的最佳实践以及对未来的展望。
书中代码的开发环境
为使用R、Python、Spark、Neo4j、Mahout进行推荐引擎的不同实现,我们需要以下软件:
读者对象
本书适合想要使用R、Python、Spark、Neo4j和Hadoop构建复杂预测决策系统及推荐引擎的初学者与有经验的数据科学家阅读。
格式约定
新术语和重要词汇用黑体显示。
表示警告或重点提示。
表示技巧。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http:www.packtpub.com通过个人账号下载,也可以访问华章图书官网http:www.hzbook.com,通过注册并登录个人账号下载。
|
|