×
暂无评论
图文详情
  • ISBN:9787115541420
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:520
  • 出版时间:2020-09-01
  • 条形码:9787115541420 ; 978-7-115-54142-0

本书特色

1.机器学习算法的学习能力已经催生了非常广泛的应用,比如我们日常接触到的产品推荐和垃圾邮件过滤,甚至还有自动驾驶和个性化医疗等应用。2.Spark非常适合用于大规模的机器学习任务,它是一种弹性集群计算系统。3.本书提供了Apache Spark机器学习API的全面解决方案,不仅介绍了用Spark完成机器学习任务所需的基础知识,也涉及一些Spark机器学习的高级技能。4.本书步骤清晰,讲解细致,适合读者边学边做,快速掌握Spark编程技能。

内容简介

机器学习是一门多领域交叉学科,可以通过模拟来让计算机获取新的知识或技能。Apache Spark是一种通用大数据框架,也是一种近实时弹性分布式计算和数据虚拟化技术,Spark使人们可以大规模使用机器学习技术,而无须在专用数据中心或硬件上进行大量投资。 本书提供了Apache Spark机器学习API的全面解决方案,不仅介绍了用Spark完成机器学习任务所需的基础知识,也涉及一些Spark机器学习的不错技能。全书共有13章,从环境配置讲起,陆续介绍了线性代数库、数据处理机制、构建机器学习系统的常见攻略、回归和分类、用Spark实现推荐引擎、无监督学习、梯度下降算法、决策树和集成模型、数据降维、文本分析和Spark Steaming的使用。 本书是为那些掌握了机器学习技术的Scala开发人员准备的,尤其适合缺乏Spark实践经验的读者。本书假定读者已经掌握机器学习算法的基础知识,并且具有使用Scala实现机器学习算法的一些实践经验。但不要求读者提前了解Spark ML库及其生态系统。

目录

第 1章 Scala和Spark的机器学习实战 1
1.1 引言 1
1.1.1 Apache Spark 2
1.1.2 机器学习 3
1.1.3 Scala 4
1.1.4 本书的软件版本和使用的
类库 5
1.2 下载和安装JDK 6
1.2.1 准备工作 6
1.2.2 操作步骤 6
1.3 下载和安装IntelliJ 6
1.3.1 准备工作 7
1.3.2 操作步骤 7
1.4 下载和安装Spark 7
1.4.1 准备工作 7
1.4.2 操作步骤 7
1.5 用IntelliJ配置Spark 8
1.5.1 准备工作 8
1.5.2 操作步骤 8
1.5.3 更多 19
1.5.4 参考资料 19
1.6 运行Spark机器学习示例代码 20
1.6.1 准备工作 20
1.6.2 操作步骤 20
1.7 获取机器学习实战所需的数据源 22
1.7.1 准备工作 22
1.7.2 操作步骤 22
1.7.3 更多 23
1.8 用IntelliJ IDE运行第 一个Apache Spark 2.0程序 25
1.8.1 操作步骤 25
1.8.2 工作原理 31
1.8.3 更多 31
1.8.4 参考资料 32
1.9 在Spark程序中添加图表 32
1.9.1 操作步骤 32
1.9.2 工作原理 36
1.9.3 更多 37
1.9.4 参考资料 37
第 2章 Spark机器学习中的线性代数库 38
2.1 引言 38
2.2 Vector和Matrix的包引入和初始化设置 40
2.2.1 操作步骤 40
2.2.2 更多 41
2.2.3 参考资料 42
2.3 用Spark 2.0创建和配置DenseVector 42
2.3.1 操作步骤 43
2.3.2 工作原理 43
2.3.3 更多 44
2.3.4 参考资料 45
2.4 用Spark 2.0创建和配置SparseVector 45
2.4.1 操作步骤 45
2.4.2 工作原理 47
2.4.3 更多 48
2.4.4 参考资料 48
2.5 用Spark 2.0创建和配置DenseMatrix 48
2.5.1 操作步骤 49
2.5.2 工作原理 50
2.5.3 更多 52
2.5.4 参考资料 52
2.6 用Spark 2.0的本地SparseMatrix 52
2.6.1 操作步骤 53
2.6.2 工作原理 55
2.6.3 更多 56
2.6.4 参考资料 57
2.7 用Spark 2.0进行Vector运算 57
2.7.1 操作步骤 57
2.7.2 工作原理 59
2.7.3 更多 60
2.7.4 参考资料 61
2.8 用Spark 2.0进行Matrix运算 61
2.8.1 操作步骤 61
2.8.2 工作原理 64
2.9 研究Spark 2.0分布式RowMatrix 66
2.9.1 操作步骤 67
2.9.2 工作原理 70
2.9.3 更多 71
2.9.4 参考资料 72
2.10 研究Spark 2.0分布式IndexedRowMatrix 72
2.10.1 操作步骤 72
2.10.2 工作原理 74
2.10.3 参考资料 75
2.11 研究Spark 2.0分布式CoordinateMatrix 75
2.11.1 操作步骤 75
2.11.2 工作原理 76
2.11.3 参考资料 77
2.12 研究Spark 2.0分布式BlockMatrix 77
2.12.1 操作步骤 78
2.12.2 工作原理 79
2.12.3 参考资料 79

第3章 Spark机器学习的三剑客 80
3.1 引言 81
3.1.1 RDD— 一切是从什么开始 81
3.1.2 DataFrame—使用高级API统一API和SQL的自然演变 82
3.1.3 Dataset— 一个高级的统一数据API 83
3.2 用Spark 2.0的内部数据源创建RDD 85
3.2.1 操作步骤 86
3.2.2 工作原理 88
3.3 用Spark 2.0的外部数据源创建RDD 88
3.3.1 操作步骤 88
3.3.2 工作原理 90
3.3.3 更多 90
3.3.4 参考资料 91
3.4 用Spark 2.0的filter() API转换RDD 92
3.4.1 操作步骤 92
3.4.2 工作原理 95
3.4.3 更多 95
3.4.4 参考资料 95
3.5 用flatMap() API转换RDD 96
3.5.1 操作步骤 96
3.5.2 工作原理 98
3.5.3 更多 98
3.5.4 参考资料 99
3.6 用集合操作API转换RDD 99
3.6.1 操作步骤 99
3.6.2 工作原理 101
3.6.3 参考资料 101
3.7 用groupBy()和reduceByKey()函数对RDD转换/聚合 102
3.7.1 操作步骤 102
3.7.2 工作原理 104
3.7.3 更多 104
3.7.4 参考资料 105
3.8 用zip() API转换RDD 105
3.8.1 操作步骤 105
3.8.2 工作原理 107
3.8.3 参考资料 107
3.9 用paired键值RDD进行关联转换 107
3.9.1 操作步骤 107
3.9.2 工作原理 110
3.9.3 更多 110
3.10 用paired键值RDD进行汇总和分组转换 110
3.10.1 操作步骤 110
3.10.2 工作原理 112
3.10.3 参考资料 112
3.11 根据Scala数据结构创建DataFrame 112
3.11.1 操作步骤 113
3.11.2 工作原理 115
3.11.3 更多 115
3.11.4 参考资料 116
3.12 不使用SQL方式创建DataFrame 116
3.12.1 操作步骤 116
3.12.2 工作原理 120
3.12.3 更多 121
3.12.4 参考资料 121
3.13 根据外部源加载DataFrame和配置 121
3.13.1 操作步骤 121
3.13.2 工作原理 125
3.13.3 更多 125
3.13.4 参考资料 125
3.14 用标准SQL语言(即SparkSQL)创建DataFrame 126
3.14.1 操作步骤 126
3.14.2 工作原理 130
3.14.3 更多 130
3.14.4 参考资料 131
3.15 用Scala序列处理Dataset API 132
3.15.1 操作步骤 132
3.15.2 工作原理 135
3.15.3 更多 135
3.15.4 参考资料 135
3.16 根据RDD创建和使用Dataset,再反向操作 136
3.16.1 操作步骤 136
3.16.2 工作原理 140
3.16.3 更多 140
3.16.4 参考资料 140
3.17 用Dataset API和SQL一起处理JSON 140
3.17.1 操作步骤 141
3.17.2 工作原理 144
3.17.3 更多 144
3.17.4 参考资料 144
3.18 用领域对象对Dataset API进行函数式编程 145
3.18.1 操作步骤 145
3.18.2 工作原理 148
3.18.3 更多 149
3.18.4 参考资料 149
第4章 构建一个稳健的机器学习系统的常用攻略 150
4.1 引言 151
4.2 借助Spark的基本统计API构建属于自己的算法 151
4.2.1 操作步骤 151
4.2.2 工作原理 153
4.2.3 更多 153
4.2.4 参考资料 154
4.3 用于真实机器学习应用的ML管道 154
4.3.1 操作步骤 154
4.3.2 工作原理 156
4.3.3 更多 157
4.3.4 参考资料 157
4.4 用Spark标准化数据 157
4.4.1 操作步骤 158
4.4.2 工作原理 160
4.4.3 更多 160
4.4.4 参考资料 161
4.5 将数据划分为训练集和测试集 161
4.5.1 操作步骤 161
4.5.2 工作原理 163
4.5.3 更多 163
4.5.4 参考资料 163
4.6 新Dataset API的常见操作 163
4.6.1 操作步骤 163
4.6.2 工作原理 166
4.6.3 更多 166
4.6.4 参考资料 167
4.7 在Spark 2.0中从文本文件创建和使用RDD、DataFrame和Dataset 167
4.7.1 操作步骤 167
4.7.2 工作原理 170
4.7.3 更多 170
4.7.4 参考资料 171
4.8 Spark ML的LabeledPoint数据结构 171
4.8.1 操作步骤 171
4.8.2 工作原理 173
4.8.3 更多 173
4.8.4 参考资料 174
4.9 用Spark 2.0访问Spark集群 174
4.9.1 操作步骤 174
4.9.2 工作原理 176
4.9.3 更多 176
4.9.4 参考资料 177
4.10 用Spark 2.0之前的版本访问Spark集群 178
4.10.1 操作步骤 178
4.10.2 工作原理 180
4.10.3 更多 180
4.10.4 参考资料 180
4.11 在Spark 2.0中使用SparkSession对象访问SparkContext 180
4.11.1 操作步骤 181
4.11.2 工作原理 184
4.11.3 更多 184
4.11.4 参考资料 184
4.12 Spark 2.0中的新模型导出及PMML标记 185
4.12.1 操作步骤 185
4.12.2 工作原理 188
4.12.3 更多 188
4.12.4 参考资料 189
4.13 用Spark 2.0进行回归模型评估 189
4.13.1 操作步骤 189
4.13.2 工作原理 191
4.13.3 更多 191
4.13.4 参考资料 192
4.14 用Spark 2.0进行二分类模型评估 192
4.14.1 操作步骤 192
4.14.2 工作原理 196
4.14.3 更多 196
4.14.4 参考资料 196
4.15 用Spark 2.0进行多类分类模型评估 197
4.15.1 操作步骤 197
4.15.2 工作原理 200
4.15.3 更多 200
4.15.4 参考资料 201
4.16 用Spark 2.0进行多标签分类模型评估 201
4.16.1 操作步骤 201
4.16.2 工作原理 203
4.16.3 更多 203
4.16.4 参考资料 204
4.17 在Spark 2.0中使用Scala Breeze库处理图像 204
4.17.1 操作步骤 204
4.17.2 工作原理 207
4.17.3 更多 207
4.17.4 参考资料 208
第5章 使用Spark 2.0实践机器学习中的回归和分类——第 一部分 209
5.1 引言 209
5.2 用传统方式拟合一条线性回归直线 211
5.2.1 操作步骤 211
5.2.2 工作原理 214
5.2.3 更多 215
5.2.4 参考资料 215
5.3 Spark 2.0中的广义线性回归 216
5.3.1 操作步骤 216
5.3.2 工作原理 219
5.3.3 更多 219
5.3.4 参考资料 220
5.4 Spark 2.0中Lasso和L-BFGS的线性回归API 221
5.4.1 操作步骤 221
5.4.2 工作原理 224
5.4.3 更多 225
5.4.4 参考资料 225
5.5 Spark 2.0中Lasso和自动优化选择的线性回归API 226
5.5.1 操作步骤 226
5.5.2 工作原理 229
5.5.3 更多 229
5.5.4 参考资料 230
5.6 Spark 2.0中岭回归和自动优化选择的线性回归API 230
5.6.1 操作步骤 230
5.6.2 工作原理 233
5.6.3 更多 233
5.6.4 参考资料 233
5.7 Spark 2.0中的保序回归 233
5.7.1 操作步骤 234
5.7.2 工作原理 236
5.7.3 更多 237
5.7.4 参考资料 237
5.8 Spark 2.0中的多层感知机分类器 238
5.8.1 操作步骤 238
5.8.2 工作原理 241
5.8.3 更多 242
5.8.4 参考资料 243
5.9 Spark 2.0中的一对多分类器 244
5.9.1 操作步骤 244
5.9.2 工作原理 247
5.9.3 更多 247
5.9.4 参考资料 248
5.10 Spark 2.0中的生存回归—参数化的加速失效时间模型 248
5.10.1 操作步骤 249
5.10.2 工作原理 252
5.10.3 更多 253
5.10.4 参考资料 254
第6章 用Spark 2.0实践机器学习中的回归和分类——第二部分 255
6.1 引言 255
6.2 Spark 2.0使用SGD优化的线性回归 257
6.2.1 操作步骤 257
6.2.2 工作原理 260
6.2.3 更多 261
6.2.4 参考资料 261
6.3 Spark 2.0使用SGD优化的逻辑回归 262
6.3.1 操作步骤 262
6.3.2 工作原理 266
6.3.3 更多 267
6.3.4 参考资料 268
6.4 Spark 2.0使用SGD优化的岭回归 268
6.4.1 操作步骤 268
6.4.2 工作原理 272
6.4.3 更多 273
6.4.4 参考资料 274
6.5 Spark 2.0使用SGD优化的Lasso回归 274
6.5.1 操作步骤 274
6.5.2 工作原理 277
6.5.3 更多 278
6.5.4 参考资料 279
6.6 Spark 2.0使用L-BFGS优化的逻辑回归 279
6.6.1 操作步骤 279
6.6.2 工作原理 282
6.6.3 更多 283
6.6.4 参考资料 283
6.7 Spark 2.0的支持向量机(SVM) 283
6.7.1 操作步骤 284
6.7.2 工作原理 287
6.7.3 更多 288
6.7.4 参考资料 289
6.8 Spark 2.0使用MLlib库的朴素贝叶斯分类器 289
6.8.1 操作步骤 289
6.8.2 工作原理 294
6.8.3 更多 294
6.8.4 参考资料 294
6.9 Spark 2.0使用逻辑回归研究ML管道和DataFrame 295
6.9.1 操作步骤 295
6.9.2 工作原理 302
6.9.3 更多 302
6.9.4 参考资料 303
第7章 使用Spark实现大规模的推荐引擎 304
7.1 引言 304
7.1.1 内容过滤 306
7.1.2 协同过滤 306
7.1.3 近邻方法 306
7.1.4 隐因子模型技术 306
7.2 用Spark 2.0生成可扩展推荐引擎所需的数据 307
7.2.1 操作步骤 307
7.2.2 工作原理 308
7.2.3 更多 308
7.2.4 参考资料 309
7.3 用Spark 2.0研究推荐系统的电影数据 309
7.3.1 操作步骤 310
7.3.2 工作原理 313
7.3.3 更多 313
7.3.4 参考资料 313
7.4 用Spark 2.0研究推荐系统的评分数据 314
7.4.1 操作步骤 314
7.4.2 工作原理 317
7.4.3 更多 318
7.4.4 参考资料 318
7.5 用Spark 2.0和协同过滤构建可扩展的推荐引擎 318
7.5.1 操作步骤 318
7.5.2 工作原理 324
7.5.3 更多 326
7.5.4 参考资料 327
7.5.5 在训练过程中处理隐式的输入数据 327
第8章 Spark 2.0的无监督聚类算法 329
8.1 引言 329
8.2 用Spark 2.0构建KMeans分类系统 331
8.2.1 操作步骤 331
8.2.2 工作原理 334
8.2.3 更多 337
8.2.4 参考资料 337
8.3 介绍Spark 2.0中的新算法,二分KMeans 337
8.3.1 操作步骤 338
8.3.2 工作原理 342
8.3.3 更多 342
8.3.4 参考资料 343
8.4 在Spark 2.0中使用高斯混合和期望*大化(EM)对数据分类 343
8.4.1 操作步骤 343
8.4.2 工作原理 347
8.4.3 更多 348
8.4.4 参考资料 349
8.5 在Spark 2.0中使用幂迭代聚类(PIC)对图中节点进行分类 349
8.5.1 操作步骤 349
8.5.2 工作原理 352
8.5.3 更多 353
8.5.4 参考资料 353
8.6 用隐狄利克雷分布(LDA)将文档和文本划分为不同主题 353
8.6.1 操作步骤 354
8.6.2 工作原理 357
8.6.3 更多 358
8.6.4 参考资料 359
8.7 用Streaming KMeans实现近实时的数据分类 359
8.7.1 操作步骤 359
8.7.2 工作原理 363
8.7.3 更多 364
8.7.4 参考资料 365
第9章 *优化——用梯度下降法寻找*小值 366
9.1 引言 366
9.2 优化二次损失函数,使用数学方法寻找*小值进行分析 369
9.2.1 操作步骤 369
9.2.2 工作原理 372
9.2.3 更多 372
9.2.4 参考资料 372
9.3 用梯度下降法(GD)编码实现二次损失函数的优化过程 373
9.3.1 操作步骤 374
9.3.2 工作原理 377
9.3.3 更多 380
9.3.4 参考资料 382
9.4 用梯度下降优化算法解决线性回归问题 383
9.4.1 操作步骤 383
9.4.2 工作原理 391
9.4.3 更多 393
9.4.4 参考资料 393
9.5 在Spark 2.0中使用正规方程法解决线性回归问题 393
9.5.1 操作步骤 394
9.5.2 工作原理 396
9.5.3 更多 396
9.5.4 参考资料 396
第 10章 使用决策树和集成模型构建机器学习系统 397
10.1 引言 397
10.1.1 集成方法 399
10.1.2 不纯度的度量 401
10.2 获取和预处理实际的医疗数据,在Spark 2.0中研究决策树和集成模型 404
10.2.1 操作步骤 404
10.2.2 工作原理 406
10.3 用Spark 2.0的决策树构建分类系统 406
10.3.1 操作步骤 407
10.3.2 工作原理 411
10.3.3 更多 411
10.3.4 参考资料 412
10.4 用Spark 2.0的决策树解决回归问题 412
10.4.1 操作步骤 412
10.4.2 工作原理 416
10.4.3 参考资料 417
10.5 用Spark 2.0的随机森林构建分类系统 417
10.5.1 操作步骤 417
10.5.2 工作原理 420
10.5.3 参考资料 421
10.6 用Spark 2.0的随机森林解决回归问题 421
10.6.1 操作步骤 421
10.6.2 工作原理 425
10.6.3 参考资料 425
10.7 用Spark 2.0的梯度提升树(GBR)构建分类系统 425
10.7.1 操作步骤 425
10.7.2 工作原理 428
10.7.3 更多 429
10.7.4 参考资料 429
10.8 用Spark 2.0的梯度提升树(GBT)解决回归问题 429
10.8.1 操作步骤 429
10.8.2 工作原理 432
10.8.3 更多 433
10.8.4 参考资料 433
第 11章 大数据中的高维灾难 434
11.1 引言 434
11.2 Spark提取和准备CSV文件的2种处理方法 438
11.2.1 操作步骤 438
11.2.2 工作原理 441
11.2.3 更多 442
11.2.4 参考资料 442
11.3 Spark使用奇异值分解(SVD)对高维数据降维 442
11.3.1 操作步骤 443
11.3.2 工作原理 448
11.3.3 更多 449
11.3.4 参考资料 450
11.4 Spark使用主成分分析(PCA)为机器学习挑选*有效的
潜在因子 450
11.4.1 操作步骤 451
11.4.2 工作原理 455
11.4.3 更多 458
11.4.4 参考资料 458
第 12章 使用Spark 2.0 ML库实现文本分析 459
12.1 引言 459
12.2 用Spark统计词频 462
12.2.1 操作步骤 462
12.2.2 工作原理 465
12.2.3 更多 465
12.2.4 参考资料 465
12.3 用Spark和Word2Vec查找相似词 465
12.3.1 操作步骤 466
12.3.2 工作原理 468
12.3.3 更多 468
12.3.4 参考资料 469
12.4 构建真实的Spark机器学习项目 469
12.4.1 操作步骤 469
12.4.2 更多 471
12.4.3 参考资料 471
12.5 用Spark 2.0和潜在语义分析实现文本分析 472
12.5.1 操作步骤 472
12.5.2 工作原理 476
12.5.3 更多 476
12.5.4 参考资料 477
12.6 用Spark 2.0和潜在狄利克雷实现主题模型 477
12.6.1 操作步骤 477
12.6.2 工作原理 481
12.6.3 更多 481
12.6.4 参考资料 482
第 13章 Spark Streaming和机器学习库 483
13.1 引言 483
13.2 用于近实时机器学习的structured streaming 487
13.2.1 操作步骤 487
13.2.2 工作原理 490
13.2.3 更多 491
13.2.4 参考资料 491
13.3 用于实时机器学习的流式DataFrame 492
13.3.1 操作步骤 492
13.3.2 工作原理 494
13.3.3 更多 494
13.3.4 参考资料 494
13.4 用于实时机器学习的流式Dataset 494
13.4.1 操作步骤 495
13.4.2 工作原理 497
13.4.3 更多 497
13.4.4 参考资料 498
13.5 流式数据和用于调试的queueStream 498
13.5.1 操作步骤 498
13.5.2 工作原理 501
13.5.3 参考资料 502
13.6 下载并熟悉著名的Iris数据,用于无监督分类 502
13.6.1 操作步骤 502
13.6.2 工作原理 503
13.6.3 更多 503
13.6.4 参考资料 504
13.7 用于实时在线分类器的流式KMeans 504
13.7.1 操作步骤 504
13.7.2 工作原理 508
13.7.3 更多 508
13.7.4 参考资料 508
13.8 下载葡萄酒质量数据,用于流式回归 509
13.8.1 操作步骤 509
13.8.2 工作原理 509
13.8.3 更多 510
13.9 用于实时回归的流式线性回归 510
13.9.1 操作步骤 510
13.9.2 参考资料 514
13.9.3 更多 514
13.9.4 参考资料 514
13.10 下载Pima糖尿病数据,用于监督分类 514
13.10.1 操作步骤 515
13.10.2 工作原理 515
13.10.3 更多 516
13.10.4 参考资料 516
13.11 用于在线分类器的流式逻辑回归 516
13.11.1 操作步骤 516
13.11.2 工作原理 519
13.11.3 更多 520
13.11.4 参考资料 520
展开全部

作者简介

西亚玛克·阿米尔霍吉(Siamak Amirghodsi)是***的高级技术执行主管,在大数据战略、云计算、定量风险管理、高级分析、大规模监管数据平台、企业架构、技术路线图、多项目执行等领域具有丰富的企业管理经验,而且入选了《财富》全球二十大人物。明那什·拉杰德兰(Meenakshi Rajendran)是一位大数据分析和数据管理经理,在大规模数据平台和机器学习方面非常专业,在全球技术人才圈中也非常出类拔萃。她为**金融机构提供一整套全面的数据分析和数据科学服务,经验非常丰富。Meenakshi拥有企业管理硕士学位,获得PMP认证,在全球软件交付行业拥有十几年的经验,不仅了解大数据和数据科学技术的基础知识,而且对人性也有很深刻的理解。布罗德里克·霍尔(Broderick Hall)是一位大数据分析专家,拥有计算机科学硕士学位,在设计和开发大规模的实时性和符合制度要求的复杂企业软件应用程序方面拥有20多年的经验。曾经为美国的一些**金融机构和交易所设计和构建实时金融应用程序,在这些方面拥有丰富的经验。此外,他还是深度学习的早期开拓者,目前正在开发具有深度学习网络扩展功能的大规模基于云的数据平台。肖恩·梅(Shuen Mei)是一位大数据分析平台专家,在金融服务行业已经从业超过15年,在设计、构建和执行具有关键任务、低延迟要求的大型企业分布式财务系统方面具有丰富的经验。目前已通过Apache Spark、Cloudera大数据平台(包括Developer、Admin和HBase)的认证。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航