描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111562559丛书名: 大数据技术丛书
内容简介
本书包装了一系列项目“蓝图”,展示了Spark可以帮你解决的一些有趣挑战,读者在将理论知识实践于一些实际项目之前,会了解到如何使用Sparknotebook,以及如何访问、清洗和连接不同的数据集,你将在其中了解Spark机器学习如何帮助你完成从欺诈检测到分析客户流失等各种工作。你还将了解如何使用Spark的并行计算能力构建推荐引擎。
目 录
目 录?Contents
译者序
前 言
第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 小结
译者序
前 言
第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。
作为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。
评论
还没有评论。