本节书摘来自华章出版社《 Apache Spark机器学习.》一书中作者[美] 刘永川(Alex Liu) 著
闫龙川 高德荃 李君婷 译
更多章节内容可以访问云栖社区“华章计算机”公众号查看。
前 言
作为数据科学家和机器学习专业人员,我们的工作是建立模型进行欺诈检测、预测客户流失,或者在广泛的领域将数据转换为洞见。为此,我们有时需要处理大量的数据和复杂的计算。因此,我们一直对新的计算工具满怀期待,例如Spark,我们花费了很多时间来学习新工具。有很多可用的资料来学习这些新的工具,但这些资料大多都由计算机科学家编写,更多的是从计算角度来描述。
作为Spark用户,数据科学家和机器学习专业人员更关心新的系统如何帮助我们建立准确度更高的预测模型,如何使数据处理和编程更加简单。这是本书的写作目的,也是由数据科学家来执笔本书的主要原因。
与此同时,数据科学家和机器学习专业人员已经开发了工作框架、处理过程,使用了一些较好的建模工具,例如R语言和SPSS。我们了解到一些新的工具,例如Spark的MLlib,可以用它们来取代一些旧的工具,但不能全部取代。因此,作为Spark的用户,将Spark与一些已有的工具共同使用对我们十分关键,这也成为本书主要的关注点之一,是本书不同于其他Spark书籍的一个关键因素。
整体而言,本书是一本由数据科学家写给数据科学家和机器学习专业人员的Spark参考书,目的是让我们更加容易地在Spark上使用机器学习。
主要内容
第1章,从机器学习的角度介绍Apache Spark。我们将讨论Spark DataFrame和R语言、Spark pipeline、RM4E数据科学框架,以及Spark notebook和模型的实现。
第2章,主要介绍使用Apache Spark上的工具进行机器学习数据准备,例如Spark SQL。我们将讨论数据清洗、一致性匹配、数据合并以及特征开发。
第3章,通过实际例子清晰地解释RM4E机器学习框架和处理过程,同时展示使用Spark轻松获得整体商业视图的优势。
第4章,讨论如何通过机器学习简单快速地进行欺诈检测。同时,我们会一步一步地说明从大数据中获得欺诈洞见的过程。
第5章,介绍一个风险评估项目的机器学习方法和处理过程,在DataScientist-Workbench 环境下,使用Spark上的R notebook实现它们。该章我们主要关注notebook。
第6章,通过开发客户流失预测系统提高客户留存度,进一步说明我们在Spark上使用MLlib进行机器学习的详细步骤。
第7章,描述如何使用Spark上的SPSS开发推荐系统,用Spark处理大数据。
第8章,将应用范围拓展到教育机构,如大学和培训机构,这里我们给出机器学习提升教育分析的一个真实的例子,预测学生的流失。
第9章,以一个基于Spark的服务请求预测的实际例子,帮助读者更好地理解Spark在商业和公共服务领域服务城市的应用。
第10章,进一步拓展前面章节学习的内容,让读者将所学的动态机器学习和Spark上的海量电信数据结合起来。
第11章,通过Spark上的开放数据介绍动态机器学习,用户可以采取数据驱动的方法,并使用所有可用的技术来优化结果。该章是第9章和第10章的扩展,同时也是前面章节所有实际例子的一个良好回顾。
预备知识
在本书中,我们假设读者有一些Scala或Python的编程基础,有一些建模工具(例如R语言或SPSS)的使用经验,并且了解一些机器学习和数据科学的基础知识。
读者对象
本书主要面向需要处理大数据的分析师、数据科学家、研究人员和机器学习专业人员,但不要求相关人员熟悉Spark。
下载彩图
我们以PDF文件的形式提供本书中屏幕截图和图标的彩色图片。这些彩色图片会有助于你更好地理解输出的变化。可以在以下网址下载该文件:http://www.packtpub.com/sites/default/files/downloads/ApacheSparkMachineLearningBlueprints_ColorImages.pdf。
目 录
译者序
前 言
第1章 Spark机器学习简介
第2章 Spark机器学习的数据准备
第3章 基于Spark的整体视图
第4章 基于Spark的欺诈检测 69
4.1 Spark欺诈检测 70
4.1.1 例子 70
4.1.2 分布式计算 71
4.2 欺诈检测方法 72
4.2.1 随机森林 73
4.2.2 决策树 74
4.3 特征提取 74
4.3.1 从日志文件提取特征 75
4.3.2 数据合并 75
4.4 模型估计 76
4.4.1 MLlib实现 77
4.4.2 R notebook实现 77
4.5 模型评价 77
4.5.1 快速评价 78
4.5.2 混淆矩阵和误报率 78
4.6 结果解释 79
4.7 部署欺诈检测 80
4.7.1 规则 81
4.7.2 评分 81
4.8 小结 82
第5章 基于Spark的风险评分 83
5.1 Spark用于风险评分 84
5.1.1 例子 84
5.1.2 Apache Spark notebook 85
5.2 风险评分方法 87
5.2.1 逻辑回归 87
5.2.2 随机森林和决策树 88
5.3 数据和特征准备 89
5.4 模型估计 91
5.4.1 在Data Scientist Workbench上应用R notebook 91
5.4.2 实现R notebook 92
5.5 模型评价 93
5.5.1 混淆矩阵 93
5.5.2 ROC分析 93
5.5.3 Kolmogorov-Smirnov检验 94
5.6 结果解释 95
5.7 部署 96
5.8 小结 97
第6章 基于Spark的流失预测 99
6.1 Spark流失预测 99
6.1.1 例子 100
6.1.2 Spark计算 100
6.2 流失预测的方法 101
6.2.1 回归模型 102
6.2.2 决策树和随机森林 103
6.3 特征准备 104
6.3.1 特征提取 104
6.3.2 特征选择 105
6.4 模型估计 105
6.5 模型评估 107
6.6 结果解释 109
6.7 部署 110
6.7.1 评分 111
6.7.2 干预措施推荐 111
6.8 小结 111
第7章 基于Spark的产品推荐 112
7.1 基于Apache Spark 的产品推荐引擎 112
7.1.1 例子 113
7.1.2 基于Spark平台的SPSS 114
7.2 产品推荐方法 117
7.2.1 协同过滤 117
7.2.2 编程准备 118
7.3 基于SPSS的数据治理 119
7.4 模型估计 120
7.5 模型评价 121
7.6 产品推荐部署 122
7.7 小结 125
第8章 基于Spark的学习分析 126
8.1 Spark流失预测 127
8.1.1 例子 127
8.1.2 Spark计算 128
8.2 流失预测方法 130
8.2.1 回归模型 130
8.2.2 决策树 131
8.3 特征准备 131
8.3.1 特征开发 133
8.3.2 特征选择 133
8.4 模型估计 135
8.5 模型评价 137
8.5.1 快速评价 138
8.5.2 混淆矩阵和错误率 138
8.6 结果解释 139
8.6.1 计算干预影响 140
8.6.2 计算主因子影响 140
8.7 部署 141
8.7.1 规则 141
8.7.2 评分 142
8.8 小结 143
第9章 基于Spark的城市分析 144
9.1 Spark服务预测 145
9.1.1 例子 145
9.1.2 Spark计算 146
9.1.3 服务预测方法 148
9.1.4 回归模型 149
9.1.5 时间序列建模 149
9.2 数据和特征准备 151
9.2.1 数据合并 151
9.2.2 特征选择 152
9.3 模型估计 152
9.3.1 用Zeppelin notebook实现Spark 153
9.3.2 用R notebook实现Spark 154
9.4 模型评估 155
9.4.1 使用MLlib计算RMSE 155
9.4.2 使用R语言计算RMSE 156
9.5 结果解释 157
9.5.1 最大影响因素 157
9.5.2 趋势可视化 158
9.6 小结 163
第10章 基于Spark的电信数据学习 165
10.1 在Spark平台上使用电信数据 166
10.1.1 例子 166
10.1.2 Spark计算 167
10.2 电信数据机器学习方法 168
10.2.1 描述性统计和可视化 169
10.2.2 线性和逻辑回归模型 169
10.2.3 决策树和随机森林 170
10.3 数据和特征开发 171
10.3.1 数据重组 171
10.3.2 特征开发和选择 172
10.4 模型估计 173
10.5 模型评估 175
10.5.1 使用MLlib计算RMSE 176
10.5.2 使用R语言计算RMSE 177
10.5.3 使用MLlib和R语言计算混淆矩阵与错误率 177
10.6 结果解释 178
10.6.1 描述性统计和可视化 178
10.6.2 最大影响因素 180
10.6.3 特别的洞见 181
10.6.4 趋势可视化 181
10.7 模型部署 183
10.7.1 告警发送规则 184
10.7.2 为流失和呼叫中心呼叫情况进行用户评分 184
10.7.3 为购买倾向分析进行用户评分 185
10.8 小结 185
第11章 基于Spark的开放数据建模 187
11.1 Spark用于开放数据学习 188
11.1.1 例子 188
11.1.2 Spark计算 189
11.1.3 评分和排名方法 192
11.1.4 聚类分析 193
11.1.5 主成分分析 193
11.1.6 回归模型 194
11.1.7 分数合成 194
11.2 数据和特征准备 195
11.2.1 数据清洗 195
11.2.2 数据合并 197
11.2.3 特征开发 197
11.2.4 特征选择 198
11.3 模型估计 199
11.3.1 基于Spark的SPSS分析:SPSS Analytics Server 200
11.3.2 模型评价 202
11.3.3 用MLlib计算RMSE 202
11.3.4 用R语言计算RMSE 202
11.4 结果解释 203
11.4.1 排名比较 204
11.4.2 最大影响因素 204
11.5 部署 205
11.5.1 发送告警规则 206
11.5.2 学区排名评分 207
11.6 小结 207