书籍详情
Spark机器学习 第2版
作者:[印] 拉结帝普·杜瓦(Rajdeep Dua),[印] 曼普利特·辛格·古特拉(Manpreet,Singh,Ghotra),[南非] 尼克·彭特里思(Nick Pentreath) 著,蔡立宇,黄
出版社:人民邮电出版社
出版时间:2018-11-01
ISBN:9787115497833
定价:¥99.00
购买这本书可以去
内容简介
本书结合案例研究讲解Spark 在机器学习中的应用,并介绍如何从各种公开渠道获取用于机器学**统的数据。内容涵盖推荐系统、回归、聚类、降维等经典机器学习算法及其实际应用。第2版新增了有关机器学习数学基础以及Spark ML Pipeline API 的章节,内容更加系统、全面、与时俱进。
作者简介
拉结帝普·杜瓦(Rajdeep Dua)Salesforce公司工程主管,致力于打造云计算和人工智能团队。曾参与Google的大数据分析工具BigQuery的宣传团队。在云计算、大数据分析和机器学习领域有近20年的经验。曼普利特·辛格·古特拉(Manpreet Singh Ghotra)Salesforce公司软件工程主管,拥有十余年软件开发经验,目前致力于开发基于Apache Spark的机器学**台。尼克·彭特里思(Nick Pentreath)IBM开源数据及人工智能技术中心首席工程师,大数据及机器学习公司Graphflow联合创始人,Spark项目管理委员会成员。【译者简介】蔡立宇曾从事自然语言处理和图数据分析相关工作,现提供数据分析相关的独立咨询和开发服务。坐标深圳。
目录
第 1章 Spark的环境搭建与运行 1
1.1 Spark的本地安装与配置 2
1.2 Spark集群 3
1.3 Spark编程模型 4
1.3.1 SparkContext类与SparkConf类 4
1.3.2 SparkSession 5
1.3.3 Spark shell 6
1.3.4 弹性分布式数据集 8
1.3.5 广播变量和累加器 12
1.4 SchemaRDD 13
1.5 Spark data frame 13
1.6 Spark Scala编程入门 14
1.7 Spark Java编程入门 17
1.8 Spark Python编程入门 19
1.9 Spark R编程入门 21
1.10 在Amazon EC2上运行Spark 23
1.11 在Amazon Elastic Map Reduce上配置并运行Spark 28
1.12 Spark用户界面 31
1.13 Spark所支持的机器学习算法 32
1.14 Spark ML的优势 36
1.15 在Google Compute Engine上用Dataproc构建Spark集群 38
1.15.1 Hadoop和Spark版本 38
1.15.2 创建集群 38
1.15.3 提交任务 41
1.16 小结 43
第 2章 机器学习的数学基础 44
2.1 线性代数 45
2.1.1 配置IntelliJ Scala环境 45
2.1.2 配置命令行Scala环境 47
2.1.3 域 48
2.1.4 矩阵 54
2.1.5 函数 64
2.2 梯度下降 68
2.3 先验概率、似然和后验概率 69
2.4 微积分 69
2.4.1 可微微分 69
2.4.2 积分 70
2.4.3 拉格朗日乘子 70
2.5 可视化 71
2.6 小结 72
第3章 机器学习系统设计 73
3.1 机器学习是什么 73
3.2 MovieStream介绍 74
3.3 机器学习系统商业用例 75
3.3.1 个性化 75
3.3.2 目标营销和客户细分 76
3.3.3 预测建模与分析 76
3.4 机器学习模型的种类 76
3.5 数据驱动的机器学习系统的组成 77
3.5.1 数据获取与存储 77
3.5.2 数据清理与转换 78
3.5.3 模型训练与测试循环 79
3.5.4 模型部署与整合 79
3.5.5 模型监控与反馈 80
3.5.6 批处理或实时方案的选择 80
3.5.7 Spark数据管道 81
3.6 机器学习系统架构 82
3.7 Spark MLlib 83
3.8 Spark ML的性能提升 83
3.9 MLlib支持算法的比较 85
3.9.1 分类 85
3.9.2 聚类 85
3.9.3 回归 85
3.10 MLlib支持的函数和开发者API 86
3.11 MLlib愿景 87
3.12 MLlib版本的变迁 87
3.13 小结 88
第4章 Spark上数据的获取、处理与准备 89
4.1 获取公开数据集 90
4.2 探索与可视化数据 92
4.2.1 探索用户数据 94
4.2.2 探索电影数据 102
4.2.3 探索评级数据 104
4.3 数据的处理与转换 109
4.4 从数据中提取有用特征 112
4.4.1 数值特征 112
4.4.2 类别特征 113
4.4.3 派生特征 114
4.4.4 文本特征 116
4.4.5 正则化特征 121
4.4.6 用软件包提取特征 123
4.5 小结 126
第5章 Spark 构建推荐引擎 127
5.1 推荐模型的分类 128
5.1.1 基于内容的过滤 128
5.1.2 协同过滤 128
5.1.3 矩阵分解 130
5.2 提取有效特征 139
5.3 训练推荐模型 140
5.3.1 使用MovieLens 100k数据集训练模型 141
5.3.2 使用隐式反馈数据训练模型 143
5.4 使用推荐模型 143
5.4.1 ALS模型推荐 144
5.4.2 用户推荐 145
5.4.3 物品推荐 148
5.5 推荐模型效果的评估 152
5.5.1 ALS模型评估 152
5.5.2 均方差 154
5.5.3 K值平均准确率 156
5.5.4 使用MLlib内置的评估函数 159
5.6 FP-Growth算法 161
5.6.1 FP-Growth的基本例子 161
5.6.2 FP-Growth在MovieLens数据集上的实践 163
5.7 小结 164
第6章 Spark构建分类模型 165
6.1 分类模型的种类 167
6.1.1 线性模型 167
6.1.2 朴素贝叶斯模型 177
6.1.3 决策树 180
6.1.4 树集成模型 183
6.2 从数据中抽取合适的特征 188
6.3 训练分类模型 189
6.4 使用分类模型 190
6.4.1 在Kaggle/StumbleUpon evergreen数据集上进行预测 191
6.4.2 评估分类模型的性能 191
6.4.3 预测的正确率和错误率 191
6.4.4 准确率和召回率 193
6.4.5 ROC曲线和AUC 194
6.5 改进模型性能以及参数调优 196
6.5.1 特征标准化 197
6.5.2 其他特征 199
6.5.3 使用正确的数据格式 202
6.5.4 模型参数调优 203
6.6 小结 211
第7章 Spark构建回归模型 212
7.1 回归模型的种类 212
7.1.1 最小二乘回归 213
7.1.2 决策树回归 214
7.2 评估回归模型的性能 215
7.2.1 均方误差和均方根误差 215
7.2.2 平均绝对误差 215
7.2.3 均方根对数误差 216
7.2.4 R-平方系数 216
7.3 从数据中抽取合适的特征 216
7.4 回归模型的训练和应用 220
7.4.1 BikeSharingExecutor 220
7.4.2 在bike sharing数据集上训练回归模型 221
7.4.3 决策树集成 229
7.5 改进模型性能和参数调优 235
7.5.1 变换目标变量 235
7.5.2 模型参数调优 242
7.6 小结 256
第8章 Spark构建聚类模型 257
8.1 聚类模型的类型 258
8.1.1 K-均值聚类 258
8.1.2 混合模型 262
8.1.3 层次聚类 262
8.2 从数据中提取正确的特征 262
8.3 K-均值训练聚类模型 265
8.3.1 训练K-均值聚类模型 266
8.3.2 用聚类模型来预测 267
8.3.3 解读预测结果 267
8.4 评估聚类模型的性能 271
8.4.1 内部评估指标 271
8.4.2 外部评估指标 272
8.4.3 在MovieLens数据集上计算性能指标 272
8.4.4 迭代次数对WSSSE的影响 272
8.5 二分K-均值 275
8.5.1 二分K-均值——训练一个聚类模型 276
8.5.2 WSSSE和迭代次数 280
8.6 高斯混合模型 283
8.6.1 GMM聚类分析 283
8.6.2 可视化GMM类簇分布 285
8.6.3 迭代次数对类簇边界的影响 286
8.7 小结 287
第9章 Spark应用于数据降维 288
9.1 降维方法的种类 289
9.1.1 主成分分析 289
9.1.2 奇异值分解 289
9.1.3 和矩阵分解的关系 290
9.1.4 聚类作为降维的方法 290
9.2 从数据中抽取合适的特征 291
9.3 训练降维模型 299
9.4 使用降维模型 302
9.4.1 在LFW数据集上使用PCA投影数据 302
9.4.2 PCA和SVD模型的关系 303
9.5 评价降维模型 304
9.6 小结 307
第 10章 Spark高级文本处理技术 308
10.1 文本数据处理的特别之处 308
10.2 从数据中抽取合适的特征 309
10.2.1 词加权表示 309
10.2.2 特征散列 310
10.2.3 从20 Newsgroups数据集中提取TF-IDF特征 311
10.3 使用TF-IDF 模型 324
10.3.1 20 Newsgroups数据集的文本相似度和TF-IDF特征 324
10.3.2 基于20 Newsgroups数据集使用TF-IDF训练文本分类器 326
10.4 评估文本处理技术的作用 328
10.5 Spark 2.0上的文本分类 329
10.6 Word2Vec模型 331
10.6.1 借助Spark MLlib训练Word2Vec模型 331
10.6.2 借助Spark ML训练Word2Vec模型 332
10.7 小结 334
第 11章 Spark Streaming实时机器学习 335
11.1 在线学习 335
11.2 流处理 336
11.2.1 Spark Streaming介绍 337
11.2.2 Spark Streaming缓存和容错机制 339
11.3 创建Spark Streaming应用 340
11.3.1 消息生成器 341
11.3.2 创建简单的流处理程序 343
11.3.3 流式分析 346
11.3.4 有状态的流计算 348
11.4 使用Spark Streaming进行在线学习 349
11.4.1 流回归 350
11.4.2 一个简单的流回归程序 350
11.4.3 流式K-均值 354
11.5 在线模型评估 355
11.6 结构化流 358
11.7 小结 359
第 12章 Spark ML Pipeline API 360
12.1 Pipeline简介 360
12.1.1 DataFrame 360
12.1.2 Pipeline组件 360
12.1.3 转换器 361
12.1.4 评估器 361
12.2 Pipeline工作原理 363
12.3 Pipeline机器学习示例 367
12.4 小结 375
1.1 Spark的本地安装与配置 2
1.2 Spark集群 3
1.3 Spark编程模型 4
1.3.1 SparkContext类与SparkConf类 4
1.3.2 SparkSession 5
1.3.3 Spark shell 6
1.3.4 弹性分布式数据集 8
1.3.5 广播变量和累加器 12
1.4 SchemaRDD 13
1.5 Spark data frame 13
1.6 Spark Scala编程入门 14
1.7 Spark Java编程入门 17
1.8 Spark Python编程入门 19
1.9 Spark R编程入门 21
1.10 在Amazon EC2上运行Spark 23
1.11 在Amazon Elastic Map Reduce上配置并运行Spark 28
1.12 Spark用户界面 31
1.13 Spark所支持的机器学习算法 32
1.14 Spark ML的优势 36
1.15 在Google Compute Engine上用Dataproc构建Spark集群 38
1.15.1 Hadoop和Spark版本 38
1.15.2 创建集群 38
1.15.3 提交任务 41
1.16 小结 43
第 2章 机器学习的数学基础 44
2.1 线性代数 45
2.1.1 配置IntelliJ Scala环境 45
2.1.2 配置命令行Scala环境 47
2.1.3 域 48
2.1.4 矩阵 54
2.1.5 函数 64
2.2 梯度下降 68
2.3 先验概率、似然和后验概率 69
2.4 微积分 69
2.4.1 可微微分 69
2.4.2 积分 70
2.4.3 拉格朗日乘子 70
2.5 可视化 71
2.6 小结 72
第3章 机器学习系统设计 73
3.1 机器学习是什么 73
3.2 MovieStream介绍 74
3.3 机器学习系统商业用例 75
3.3.1 个性化 75
3.3.2 目标营销和客户细分 76
3.3.3 预测建模与分析 76
3.4 机器学习模型的种类 76
3.5 数据驱动的机器学习系统的组成 77
3.5.1 数据获取与存储 77
3.5.2 数据清理与转换 78
3.5.3 模型训练与测试循环 79
3.5.4 模型部署与整合 79
3.5.5 模型监控与反馈 80
3.5.6 批处理或实时方案的选择 80
3.5.7 Spark数据管道 81
3.6 机器学习系统架构 82
3.7 Spark MLlib 83
3.8 Spark ML的性能提升 83
3.9 MLlib支持算法的比较 85
3.9.1 分类 85
3.9.2 聚类 85
3.9.3 回归 85
3.10 MLlib支持的函数和开发者API 86
3.11 MLlib愿景 87
3.12 MLlib版本的变迁 87
3.13 小结 88
第4章 Spark上数据的获取、处理与准备 89
4.1 获取公开数据集 90
4.2 探索与可视化数据 92
4.2.1 探索用户数据 94
4.2.2 探索电影数据 102
4.2.3 探索评级数据 104
4.3 数据的处理与转换 109
4.4 从数据中提取有用特征 112
4.4.1 数值特征 112
4.4.2 类别特征 113
4.4.3 派生特征 114
4.4.4 文本特征 116
4.4.5 正则化特征 121
4.4.6 用软件包提取特征 123
4.5 小结 126
第5章 Spark 构建推荐引擎 127
5.1 推荐模型的分类 128
5.1.1 基于内容的过滤 128
5.1.2 协同过滤 128
5.1.3 矩阵分解 130
5.2 提取有效特征 139
5.3 训练推荐模型 140
5.3.1 使用MovieLens 100k数据集训练模型 141
5.3.2 使用隐式反馈数据训练模型 143
5.4 使用推荐模型 143
5.4.1 ALS模型推荐 144
5.4.2 用户推荐 145
5.4.3 物品推荐 148
5.5 推荐模型效果的评估 152
5.5.1 ALS模型评估 152
5.5.2 均方差 154
5.5.3 K值平均准确率 156
5.5.4 使用MLlib内置的评估函数 159
5.6 FP-Growth算法 161
5.6.1 FP-Growth的基本例子 161
5.6.2 FP-Growth在MovieLens数据集上的实践 163
5.7 小结 164
第6章 Spark构建分类模型 165
6.1 分类模型的种类 167
6.1.1 线性模型 167
6.1.2 朴素贝叶斯模型 177
6.1.3 决策树 180
6.1.4 树集成模型 183
6.2 从数据中抽取合适的特征 188
6.3 训练分类模型 189
6.4 使用分类模型 190
6.4.1 在Kaggle/StumbleUpon evergreen数据集上进行预测 191
6.4.2 评估分类模型的性能 191
6.4.3 预测的正确率和错误率 191
6.4.4 准确率和召回率 193
6.4.5 ROC曲线和AUC 194
6.5 改进模型性能以及参数调优 196
6.5.1 特征标准化 197
6.5.2 其他特征 199
6.5.3 使用正确的数据格式 202
6.5.4 模型参数调优 203
6.6 小结 211
第7章 Spark构建回归模型 212
7.1 回归模型的种类 212
7.1.1 最小二乘回归 213
7.1.2 决策树回归 214
7.2 评估回归模型的性能 215
7.2.1 均方误差和均方根误差 215
7.2.2 平均绝对误差 215
7.2.3 均方根对数误差 216
7.2.4 R-平方系数 216
7.3 从数据中抽取合适的特征 216
7.4 回归模型的训练和应用 220
7.4.1 BikeSharingExecutor 220
7.4.2 在bike sharing数据集上训练回归模型 221
7.4.3 决策树集成 229
7.5 改进模型性能和参数调优 235
7.5.1 变换目标变量 235
7.5.2 模型参数调优 242
7.6 小结 256
第8章 Spark构建聚类模型 257
8.1 聚类模型的类型 258
8.1.1 K-均值聚类 258
8.1.2 混合模型 262
8.1.3 层次聚类 262
8.2 从数据中提取正确的特征 262
8.3 K-均值训练聚类模型 265
8.3.1 训练K-均值聚类模型 266
8.3.2 用聚类模型来预测 267
8.3.3 解读预测结果 267
8.4 评估聚类模型的性能 271
8.4.1 内部评估指标 271
8.4.2 外部评估指标 272
8.4.3 在MovieLens数据集上计算性能指标 272
8.4.4 迭代次数对WSSSE的影响 272
8.5 二分K-均值 275
8.5.1 二分K-均值——训练一个聚类模型 276
8.5.2 WSSSE和迭代次数 280
8.6 高斯混合模型 283
8.6.1 GMM聚类分析 283
8.6.2 可视化GMM类簇分布 285
8.6.3 迭代次数对类簇边界的影响 286
8.7 小结 287
第9章 Spark应用于数据降维 288
9.1 降维方法的种类 289
9.1.1 主成分分析 289
9.1.2 奇异值分解 289
9.1.3 和矩阵分解的关系 290
9.1.4 聚类作为降维的方法 290
9.2 从数据中抽取合适的特征 291
9.3 训练降维模型 299
9.4 使用降维模型 302
9.4.1 在LFW数据集上使用PCA投影数据 302
9.4.2 PCA和SVD模型的关系 303
9.5 评价降维模型 304
9.6 小结 307
第 10章 Spark高级文本处理技术 308
10.1 文本数据处理的特别之处 308
10.2 从数据中抽取合适的特征 309
10.2.1 词加权表示 309
10.2.2 特征散列 310
10.2.3 从20 Newsgroups数据集中提取TF-IDF特征 311
10.3 使用TF-IDF 模型 324
10.3.1 20 Newsgroups数据集的文本相似度和TF-IDF特征 324
10.3.2 基于20 Newsgroups数据集使用TF-IDF训练文本分类器 326
10.4 评估文本处理技术的作用 328
10.5 Spark 2.0上的文本分类 329
10.6 Word2Vec模型 331
10.6.1 借助Spark MLlib训练Word2Vec模型 331
10.6.2 借助Spark ML训练Word2Vec模型 332
10.7 小结 334
第 11章 Spark Streaming实时机器学习 335
11.1 在线学习 335
11.2 流处理 336
11.2.1 Spark Streaming介绍 337
11.2.2 Spark Streaming缓存和容错机制 339
11.3 创建Spark Streaming应用 340
11.3.1 消息生成器 341
11.3.2 创建简单的流处理程序 343
11.3.3 流式分析 346
11.3.4 有状态的流计算 348
11.4 使用Spark Streaming进行在线学习 349
11.4.1 流回归 350
11.4.2 一个简单的流回归程序 350
11.4.3 流式K-均值 354
11.5 在线模型评估 355
11.6 结构化流 358
11.7 小结 359
第 12章 Spark ML Pipeline API 360
12.1 Pipeline简介 360
12.1.1 DataFrame 360
12.1.2 Pipeline组件 360
12.1.3 转换器 361
12.1.4 评估器 361
12.2 Pipeline工作原理 363
12.3 Pipeline机器学习示例 367
12.4 小结 375
猜您喜欢