第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数据连接及其工具——SparkSQL 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 ML1ib实现 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-Smimov检验 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的学习分析 127
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