《 Apache Spark机器学习.》导读

本节书摘来自华章出版社《 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机器学习简介  

1.1 Spark概述和技术优势  

1.2 在机器学习中应用Spark计算  

1.3 机器学习算法  

1.4 MLlib  

1.5 Spark RDD和DataFrame 

1.6 机器学习工作流和Spark pipeline 

1.7 机器学习工作流示例  

1.8 Spark notebook简介  

1.9 小结 

第2章 Spark机器学习的数据准备  

2.1 访问和加载数据集  

2.2 数据清洗 

2.3 一致性匹配  

2.4 数据集重组 

2.5 数据集连接 

2.6 特征提取 

2.7 复用性和自动化 

第3章 基于Spark的整体视图  

3.1 Spark整体视图  

3.2 整体视图的方法 

3.3 特征准备  

3.4 模型估计 

3.5 模型评估 

3.6 结果解释  

3.7 部署 

3.8 小结  

第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

时间: 2024-08-03 05:10:20

《 Apache Spark机器学习.》导读的相关文章

Apache Spark机器学习.2.4 数据集重组

2.4 数据集重组 本节,我们介绍数据集重组技术.我们将讨论一些特殊的Spark数据重组特征,以及一些可以用在Spark notebook中基于R语言数据重组的特别方法. 学习完本节,我们可以根据不同的机器学习需要进行数据集重组. 2.4.1 数据集重组任务 数据集重组虽然听起来比较容易,但还是很有挑战,并且非常耗时. 有两个常见的数据重组任务:一是,获取一个用于建模的数据子集:二是,以更高的层次汇总数据.例如,我们有学生数据,但是我们需要一些班级层面的数据集.为此,我们需要计算学生的一些属性,

Apache Spark机器学习.1.4 MLlib

1.4 MLlib MLlib是一个可扩展的Spark机器学习库,包括很多常用的机器学习算法.MLlib内置的算法如下: 以向量和矩阵形式处理数据 基本的统计计算,例如:汇总统计和相关性.简单随机数生成.分层抽样.执行简单的假设检验 分类和回归建模 协同过滤 聚类 降维 特征提取与转换 频繁模式挖掘 开发优化 PMML模型导出 Spark MLlib还处在活跃开发阶段,预计每次新版发布都会有新的算法加入其中. MLlib符合Apache Spark的计算哲学,简单易用,性能卓越. MLlib使用

Apache Spark机器学习.1.5 Spark RDD和DataFrame

1.5 Spark RDD和DataFrame 本节关注数据以及Spark如何表示和组织数据.我们将介绍Spark RDD和DataFrame技术. 通过本节的学习,读者将掌握Spark的两个关键概念:RDD和DataFrame,并将它们应用于机器学习项目. 1.5.1 Spark RDD Spark主要以一种分布式项集合的形式进行数据抽象,称之为弹性分布式数据集(Resilient Distributed Dataset,RDD).RDD是Spark的关键创新,使其比其他框架计算更加快速和高效

Apache Spark机器学习.1.1 Spark概述和技术优势

摘要 Spark机器学习简介 本章从机器学习和数据分析视角介绍Apache Spark,并讨论Spark中的机器学习计算处理技术.本章首先概括介绍Apache Spark,通过与MapReduce等计算平台进行比较,展示Spark在数据分析中的技术优势和特点.接着,讨论如下五个方面的内容: 机器学习算法与程序库 Spark RDD和DataFrame 机器学习框架 Spark pipeline技术 Spark notebook技术 以上是数据科学家或机器学习专业人员必须掌握的五项最重要的技术内容

Apache Spark机器学习.1.8 Spark notebook简介

1.8 Spark notebook简介 在本节中,我们首先讨论有关面向机器学习的notebook方法.然后,我们介绍R Markdown,以其作为一个成熟的notebook案例,最后介绍Spark中的R notebook. 学习完本节,读者将掌握notebook相关的方法和概念,并为将其用于管理和开发机器学习项目做好准备. 1.8.1 面向机器学习的notebook方法 notebook已经成为众人青睐的机器学习工具,因为该工具既能动态驱动,还具备可重复生成的特点. 大部分notebook接口

Apache Spark机器学习.1.7 机器学习工作流示例

1.7 机器学习工作流示例 为了进一步了解学习机器学习的工作流,在这里让我们学习一些例子. 本书后续章节会研究风险建模.欺诈检测.客户视图.流失预测和产品推荐.对于诸如此类的项目,目标往往是确定某些问题的原因,或者建立一个因果模型.下面是使用工作流建立一个因果模型的一个例子. 1.检查数据结构,以确保更好地理解数据: 数据是横截面数据吗?是隐含着时间信息的合并数据吗? 是否使用了分类变量? 2.检查缺失值: 不知道或者忘记了一个答案可能会被记录为一个中立或特殊的类别 一些变量可能有很多缺失值 根

Apache Spark机器学习.1.9 小结

1.9 小结 本章介绍了Apache Spark所有的基础知识,这也是所有想把Apache Spark应用于机器学习实际项目的从业者必须理解掌握的.我们重点探讨了Apache Spark计算,并涉及一些最重要的机器学习组件,以便把Apache Spark和机器学习关联起来,让开展机器学习项目的读者做好充分准备. 第一,我们作了Spark总体概述,还讨论了Spark优点以及面向机器学习的Spark计算模型. 第二,我们回顾了机器学习算法,Spark的MLlib库和其他机器学习库. 第三,讨论了Sp

Apache Spark机器学习3.1 Spark整体视图

摘要 基于Spark的整体视图 通过第1章,我们建立起了Spark系统,根据第2章的内容,我们完成了数据准备.现在将进入Spark系统应用的新阶段:从数据中获得洞见. 根据Gartner等机构的研究结果,许多公司仅仅是因为缺乏其商业的整体视图而损失了大量的价值.本章我们将回顾机器学习的方法和获得商业整体视图的步骤,然后讨论Spark如何简单.快速地进行相关计算,同时通过一个实例,循序渐进地展示使用Spark从数据到整体视图的开发过程. Spark整体视图 整体视图的方法 特征准备 模型估计 模型

Apache Spark机器学习.1.2 在机器学习中应用Spark计算

1.2 在机器学习中应用Spark计算 基于RDD和内存处理的创新功能,Apache Spark真正使得分布式计算对于数据科学家和机器学习专业人员来说简便易用.Apache Spark团队表示:Apache Spark基于Mesos 集群管理器运行,使其可以与Hadoop以及其他应用共享资源.因此,Apache Spark可以从任何Hadoop输入源(如HDFS)中读取数据.   Apache Spark计算模型非常适合机器学习中的分布式计算.特别是在快速交互式机器学习.并行计算和大型复杂模型情