《深度实践Spark机器学习》介绍
本书系统讲解了Spark机器学习的技术、原理、组件、算法,以及构建Spark机器学习系统的方法、流程、标准和规范。此外,还介绍了Spark的深度学习框架TensorFlowOnSpark,以及如何借助它实现卷积神经网络和循环神经网络。
《深度实践Spark机器学习》目录
- 前言
- 第1章 了解机器学习 1
- 1.1 机器学习的定义 1
- 1.2 大数据与机器学习 2
- 1.3 机器学习、人工智能及深度学习 2
- 1.4 机器学习的基本任务 3
- 1.5 如何选择合适算法 4
- 1.6 Spark在机器学习方面的优势 5
- 1.7 小结 5
- 第2章 构建Spark机器学习系统 6
- 2.1 机器学习系统架构 6
- 2.2 启动集群 7
- 2.3 加载数据 9
- 2.4 探索数据 10
- 2.4.1 数据统计信息 10
- 2.4.2 数据质量分析 11
- 2.4.3 数据特征分析 12
- 2.4.4 数据的可视化 17
- 2.5 数据预处理 19
- 2.5.1 数据清理 20
- 2.5.2 数据变换 21
- 2.5.3 数据集成 22
- 2.5.4 数据归约 23
- 2.6 构建模型 25
- 2.7 模型评估 26
- 2.8 组装 30
- 2.9 模型选择或调优 30
- 2.9.1 交叉验证 31
- 2.9.2 训练–验证切分 32
- 2.10 保存模型 32
- 2.11 小结 33
- 第3章 ML Pipeline原理与实战 34
- 3.1 Pipeline简介 34
- 3.2 DataFrame 35
- 3.3 Pipeline组件 36
- 3.4 Pipeline原理 37
- 3.5 Pipeline实例 38
- 3.5.1 使用Estimator、Transformer和Param的实例 38
- 3.5.2 ML使用Pipeline的实例 40
- 3.6 小结 41
- 第4章 特征提取、转换和选择 42
- 4.1 特征提取 42
- 4.1.1 词频—逆向文件
- 频率(TF-IDF) 42
- 4.1.2 Word2Vec 43
- 4.1.3 计数向量器 44
- 4.2 特征转换 45
- 4.2.1 分词器 45
- 4.2.2 移除停用词 46
- 4.2.3 n-gram 47
- 4.2.4 二值化 48
- 4.2.5 主成分分析 48
- 4.2.6 多项式展开 50
- 4.2.7 离散余弦变换 50
- 4.2.8 字符串—索引变换 51
- 4.2.9 索引—字符串变换 53
- 4.2.10 独热编码 54
- 4.2.11 向量—索引变换 57
- 4.2.12 交互式 58
- 4.2.13 正则化 59
- 4.2.14 规范化 60
- 4.2.15 最大值—最小值缩放 60
- 4.2.16 最大值—绝对值缩放 61
- 4.2.17 离散化重组 62
- 4.2.18 元素乘积 63
- 4.2.19 SQL转换器 64
- 4.2.20 向量汇编 65
- 4.2.21 分位数离散化 66
- 4.3 特征选择 67
- 4.3.1 向量机 67
- 4.3.2 R公式 69
- 4.3.3 卡方特征选择 70
- 4.4 小结 71
- 第5章 模型选择和优化 72
- 5.1 模型选择 72
- 5.2 交叉验证 73
- 5.3 训练验证拆分法 75
- 5.4 自定义模型选择 76
- 5.5 小结 78
- 第6章 Spark MLlib基础 79
- 6.1 Spark MLlib简介 80
- 6.2 Spark MLlib架构 81
- 6.3 数据类型 82
- 6.4 基础统计 84
- 6.4.1 摘要统计 84
- 6.4.2 相关性 84
- 6.4.3 假设检验 85
- 6.4.4 随机数据生成 85
- 6.5 RDD、Dataframe和Dataset 86
- 6.5.1 RDD 86
- 6.5.2 DatasetDataFrame 87
- 6.5.3 相互转换 88
- 6.6 小结 89
- 第7章 构建Spark ML推荐模型 90
- 7.1 推荐模型简介 91
- 7.2 数据加载 92
- 7.3 数据探索 94
- 7.4 训练模型 94
- 7.5 组装 95
- 7.6 评估模型 96
- 7.7 模型优化 96
- 7.8 小结 98
- 第8章 构建Spark ML分类模型 99
- 8.1 分类模型简介 99
- 8.1.1 线性模型 100
- 8.1.2 决策树模型 101
- 8.1.3 朴素贝叶斯模型 102
- 8.2 数据加载 102
- 8.3 数据探索 103
- 8.4 数据预处理 104
- 8.5 组装 109
- 8.6 模型优化 110
- 8.7 小结 113
- 第9章 构建Spark ML回归模型 114
- 9.1 回归模型简介 115
- 9.2 数据加载 115
- 9.3 探索特征分布 117
- 9.4 数据预处理 120
- 9.4.1 特征选择 121
- 9.4.2 特征转换 121
- 9.5 组装 122
- 9.6 模型优化 124
- 9.7 小结 126
- 第10章 构建Spark ML聚类模型 127
- 10.1 K-means模型简介 128
- 10.2 数据加载 129
- 10.3 探索特征的相关性 129
- 10.4 数据预处理 131
- 10.5 组装 132
- 10.6 模型优化 134
- 10.7 小结 136
- 第11章 PySpark 决策树模型 137
- 11.1 PySpark 简介 138
- 11.2 决策树简介 139
- 11.3 数据加载 140
- 11.3.1 原数据集初探 140
- 11.3.2 PySpark的启动 142
- 11.3.3 基本函数 142
- 11.4 数据探索 143
- 11.5 数据预处理 143
- 11.6 创建决策树模型 145
- 11.7 训练模型进行预测 146
- 11.8 模型优化 149
- 11.8.1 特征值的优化 149
- 11.8.2 交叉验证和网格参数 152
- 11.9 脚本方式运行 154
- 11.9.1 在脚本中添加配置信息 154
- 11.9.2 运行脚本程序 154
- 11.10 小结 154
- 第12章 SparkR朴素贝叶斯模型 155
- 12.1 SparkR简介 156
- 12.2 获取数据 157
- 12.2.1 SparkDataFrame数据结构
- 说明 157
- 12.2.2 创建SparkDataFrame 157
- 12.2.3 SparkDataFrame的常用操作 160
- 12.3 朴素贝叶斯分类器 162
- 12.3.1 数据探查 162
- 12.3.2 对原始数据集进行转换 163
- 12.3.3 查看不同船舱的生还率差异 163
- 12.3.4 转换成SparkDataFrame格式的数据 165
- 12.3.5 模型概要 165
- 12.3.6 预测 165
- 12.3.7 评估模型 166
- 12.4 小结 167
- 第13章 使用Spark Streaming构建在线学习模型 168
- 13.1 Spark Streaming简介 168
- 13.1.1 Spark Streaming常用术语 169