内容简介
《Apache Spark机器学习》包装了一系列项目“蓝图”,展示了Spark可以帮你解决的一些有趣挑战,读者在将理论知识实践于一些实际项目之前,会了解到如何使用Sparknotebook,以及如何访问、清洗和连接不同的数据集,你将在其中了解Spark机器学习如何帮助你完成从欺诈检测到分析客户流失等各种工作。你还将了解如何使用Spark的并行计算能力构建推荐引擎。
目录
译者序
前 言
第1章 Spark机器学习简介 1
1.1 Spark概述和技术优势 2
1.1.1 Spark概述 2
1.1.2 Spark优势 3
1.2 在机器学习中应用Spark计算 4
1.3 机器学习算法 5
1.4 MLlib 6
1.5 Spark RDD和DataFrame 8
1.5.1 Spark RDD 8
1.5.2 Spark DataFrame 9
1.5.3 R语言DataFrame API 10
1.5.4 机器学习框架、RM4E和Spark计算 11
1.5.5 机器学习框架 12
1.5.6 RM4E 13
1.5.7 Spark计算框架 13
1.6 机器学习工作流和Spark pipeline 14
1.7 机器学习工作流示例 16
1.8 Spark notebook简介 19
1.8.1 面向机器学习的notebook方法 19
1.8.2 Spark notebook 21
1.9 小结 22
第2章 Spark机器学习的数据准备 24
2.1 访问和加载数据集 25
2.1.1 访问公开可用的数据集 25
2.1.2 加载数据集到Spark 26
2.1.3 数据集探索和可视化 27
2.2 数据清洗 29
2.2.1 处理数据不完备性 30
2.2.2 在Spark中进行数据清洗 31
2.2.3 更简便的数据清洗 32
2.3 一致性匹配 33
2.3.1 一致性问题 33
2.3.2 基于Spark的一致性匹配 34
2.3.3 实体解析 34
2.3.4 更好的一致性匹配 35
2.4 数据集重组 36
2.4.1 数据集重组任务 36
2.4.2 使用Spark SQL进行数据集重组 37
2.4.3 在Spark上使用R语言进行数据集重组 38
2.5 数据集连接 39
2.5.1 数据连接及其工具——Spark SQL 39
2.5.2 Spark中的数据集连接 40
2.5.3 使用R语言数据表程序包进行数据连接 40
2.6 特征提取 42
2.6.1 特征开发的挑战 42
2.6.2 基于Spark MLlib的特征开发 43
2.6.3 基于R语言的特征开发 45
2.7 复用性和自动化 45
2.7.1 数据集预处理工作流 46
2.7.2 基于Spark pipeline的数据集预处理 47
2.7.3 数据集预处理自动化 47
2.8 小结 49
第3章 基于Spark的整体视图 51
3.1 Spark整体视图 51
3.1.1 例子 52
3.1.2 简洁快速的计算 54
3.2 整体视图的方法 55
3.2.1 回归模型 56
3.2.2 SEM方法 57
3.2.3 决策树 57
3.3 特征准备 58
3.3.1 PCA 59
3.3.2 使用专业知识进行分类分组 59
3.3.3 特征选择 60
3.4 模型估计 61
3.4.1 MLlib实现 62
3.4.2 R notebook实现 62
3.5 模型评估 63
3.5.1 快速评价 63
3.5.2 RMSE 64
3.5.3 ROC曲线 65
3.6 结果解释 66
3.7 部署 66
3.7.1 仪表盘 67
3.7.2 规则 68
3.8 小结 68
第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 小结
前言/序言
Preface 前 言 作为数据科学家和机器学习专业人员,我们的工作是建立模型进行欺诈检测、预测客户流失,或者在广泛的领域将数据转换为洞见。为此,我们有时需要处理大量的数据和复杂的计算。因此,我们一直对新的计算工具满怀期待,例如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。
The Translator’s Words?译 者 序近年来,大数据发展迅猛,如雨后春笋般出现在各行各业,企业收集和存储的数据成倍增长,数据分析成为企业核心竞争力的关键因素。大数据的核心是发现和利用数据的价值,而驾驭大数据的核心就是数据分析能力。面向大数据分析,数据科学家和专业的统计分析人员都需要简单、快捷的工具,将大数据与机器学习有机地结合,从而开展高效的统计分析和数据挖掘。 为了解决大数据的分析与挖掘问题,国内外陆续出现了很多计算框架与平台,其中,Apache Spark以其卓越的性能和丰富的功能备受关注,其相应的机器学习部分更是让人激动不已。本书的作者Alex Liu先生密切结合实际,以清晰的思路和精心的选题,详细阐述了Spark机器学习的典型案例,为我们的大数据分析挖掘实践绘制了精美蓝图。 本书首先介绍了Apache Spark概况和机器学习基本框架RM4E,其中包括Spark计算架构和一些最重要的机器学习组件,把Spark和机器学习有机地联系在一起,帮助开展机器学习有关项目的读者做好充分准备。接着,作者介绍了Spark机器学习数据准备工作,包括数据加载、数据清洗、一致性匹配、数据重组、数据连接、特征提取以及数据准备工作流和自动化等内容。完成了数据准备工作后,我们就跟随作者进入到本书的核心部分,实际案例分析。作者围绕Spark机器学习先后介绍了9个案例,内容涵盖整体视图、欺诈检测、风险评分、流失预测、产品推荐、教育分析、城市分析和开放数据建模等方面,囊括了大数据分析挖掘的主要应用场景。在每个案例中,作者对所使用的机器学习算法、数据与特征准备、模型评价方法、结果的解释都进行了详细的阐述,并给出了Scala、R语言、SPSS等环境下的关键代码,使得本书具有非常强的实用性和可操作性。 无论读者是数据科学家、数据分析师、R语言或者SPSS用户,通过阅读本书,一定能够对Spark机器学习有更加深入的理解和掌握,能够将所学内容应用到大数据分析挖掘的具体工作中,并在学习和实践中不断加深对Spark大数据机器学习的理解和认识。 大数据时代最鲜明的特征就是变化,大数据技术也在日新月异的变化之中,同时,Spark自身和机器学习领域都在快速地进行迭代演进,让我们共同努力,一起进入这绚丽多彩的大数据时代! 最后,我们要感谢本书的作者Alex Liu先生,感谢他奉献出引领大数据时代发展潮流和新技术应用的重要作品。感谢机械工业出版社华章公司的编辑们,是她们的远见和鼓励使得本书能与读者很快见面。感谢家人的支持和理解。尽管我们努力准确、简洁地表达作者的思想,但仍难免有词不达意之处。译文中的错误和不当之处,敬请读者朋友不吝指正,我们将不胜感激。 闫龙川 高德荃 李君婷2016年10月
Apache Spark机器学习 下载 mobi epub pdf txt 电子书 格式