《Spark机器学习 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(印)拉结帝普·杜瓦,(印)曼普利特·辛格·古特拉,(南非)尼克·彭特里思著;蔡立宇,黄章帅,周济民译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115497833
  • 页数:378 页
图书介绍:本书基于Spark 2.x全面修订,内容涵盖推荐系统、回归、聚类、降维等经典机器学习算法及其实际应用。相比上一版,本书新增了有关机器学习数学基础以及Spark ML Pipeline API 的章节,内容更加系统、全面、与时俱进。本书结合案例研究讲解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