SPARK机器学习
作者:(南非)NICKPENTREATH著;蔡立宇,黄章帅,周济民译
出版时间:2015年版
《Spark机器学习》每章都设计了案例研究,以机器学习算法为主线,结合实例探讨了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 Spark shell 5
- 1.3.3 弹性分布式数据集 6
- 1.3.4 广播变量和累加器 10
- 1.4 Spark Scala 编程入门 11
- 1.5 Spark Java 编程入门 14
- 1.6 Spark Python 编程入门 17
- 1.7 在Amazon EC2 上运行Spark 18
- 1.8 小结 23
- 第2 章 设计机器学习系统 24
- 2.1 MovieStream 介绍 24
- 2.2 机器学习系统商业用例 25
- 2.2.1 个性化 26
- 2.2.2 目标营销和客户细分 26
- 2.2.3 预测建模与分析 26
- 2.3 机器学习模型的种类 27
- 2.4 数据驱动的机器学习系统的组成 27
- 2.4.1 数据获取与存储 28
- 2.4.2 数据清理与转换 28
- 2.4.3 模型训练与测试回路 29
- 2.4.4 模型部署与整合 30
- 2.4.5 模型监控与反馈 30
- 2.4.6 批处理或实时方案的选择 31
- 2.5 机器学习系统架构 31
- 2.6 小结 33
- 第3 章 Spark 上数据的获取、处理与准备 34
- 3.1 获取公开数据集 35
- 3.2 探索与可视化数据 37
- 3.2.1 探索用户数据 38
- 3.2.2 探索电影数据 41
- 3.2.3 探索评级数据 43
- 3.3 处理与转换数据 46
- 3.4 从数据中提取有用特征 48
- 3.4.1 数值特征 48
- 3.4.2 类别特征 49
- 3.4.3 派生特征 50
- 3.4.4 文本特征 51
- 3.4.5 正则化特征 55
- 3.4.6 用软件包提取特征 56
- 3.5 小结 57
- 第4 章 构建基于Spark 的推荐引擎 58
- 4.1 推荐模型的分类 59
- 4.1.1 基于内容的过滤 59
- 4.1.2 协同过滤 59
- 4.1.3 矩阵分解 60
- 4.2 提取有效特征 64
- 4.3 训练推荐模型67
- 4.3.1 使用MovieLens 100k 数据集训练模型 67
- 4.3.2 使用隐式反馈数据训练模型 68
- 4.4 使用推荐模型 69
- 4.4.1 用户推荐 69
- 4.4.2 物品推荐 72
- 4.5 推荐模型效果的评估 75
- 4.5.1 均方差 75
- 4.5.2 K 值平均准确率 77
- 4.5.3 使用MLlib 内置的评估函数 81
- 4.6 小结 82
- 第5 章 Spark 构建分类模型 83
- 5.1 分类模型的种类 85
- 5.1.1 线性模型 85
- 5.1.2 朴素贝叶斯模型 89
- 5.1.3 决策树 90
- 5.2 从数据中抽取合适的特征 91
- 5.3 训练分类模型 93
- 5.4 使用分类模型 95
- 5.5 评估分类模型的性能 96
- 5.5.1 预测的正确率和错误率 96
- 5.5.2 准确率和召回率 97
- 5.5.3 ROC 曲线和AUC 99
- 5.6 改进模型性能以及参数调优 101
- 5.6.1 特征标准化 101
- 5.6.2 其他特征 104
- 5.6.3 使用正确的数据格式 106
- 5.6.4 模型参数调优 107
- 5.7 小结 115
- 第6 章 Spark 构建回归模型 116
- 6.1 回归模型的种类 116
- 6.1.1 最小二乘回归 117
- 6.1.2 决策树回归 117
- 6.2 从数据中抽取合适的特征 118
- 6.3 回归模型的训练和应用 123
- 6.4 评估回归模型的性能 125
- 6.4.1 均方误差和均方根误差 125
- 6.4.2 平均绝对误差 126
- 6.4.3 均方根对数误差 126
- 6.4.4 R—平方系数 126
- 6.4.5 计算不同度量下的性能 126
- 6.5 改进模型性能和参数调优 127
- 6.5.1 变换目标变量 128
- 6.5.2 模型参数调优 132
- 6.6 小结 140
- 第7 章 Spark 构建聚类模型 141
- 7.1 聚类模型的类型 142
- 7.1.1 K—均值聚类 142
- 7.1.2 混合模型 146
- 7.1.3 层次聚类 146
- 7.2 从数据中提取正确的特征 146
- 7.3 训练聚类模型 150
- 7.4 使用聚类模型进行预测 151
- 7.5 评估聚类模型的性能 155
- 7.5.1 内部评价指标 155
- 7.5.2 外部评价指标 156
- 7.5.3 在MovieLens 数据集计算性能 156
- 7.6 聚类模型参数调优 156
- 7.7 小结 158
- 第8 章 Spark 应用于数据降维 159
- 8.1 降维方法的种类 160
- 8.1.1 主成分分析 160
- 8.1.2 奇异值分解 160
- 8.1.3 和矩阵分解的关系 161
- 8.1.4 聚类作为降维的方法 161
- 8.2 从数据中抽取合适的特征 162
- 8.3 训练降维模型 169
- 8.4 使用降维模型 172
- 8.4.1 在LFW数据集上使用PCA投影数据 172
- 8.4.2 PCA 和SVD 模型的关系 173
- 8.5 评价降维模型 174
- 8.6 小结 176
- 第9 章 Spark 高级文本处理技术 177
- 9.1 处理文本数据有什么特别之处 177
- 9.2 从数据中抽取合适的特征 177
- 9.2.1 短语加权表示 178
- 9.2.2 特征哈希 179
- 9.2.3 从20 新闻组数据集中提取TF—IDF 特征 180
- 9.3 使用TF—IDF 模型 192
- 9.3.120 Newsgroups 数据集的文本相似度和TF—IDF 特征 192
- 9.3.2 基于20 Newsgroups 数据集使用TF—IDF 训练文本分类器 194
- 9.4 评估文本处理技术的作用 196
- 9.5 Word2Vec 模型 197
- 9.6 小结 200
- 第10 章 Spark Streaming 在实时机器学习上的应用 201
- 10.1 在线学习 201
- 10.2 流处理 202
- 10.2.1 Spark Streaming 介绍 202
- 10.2.2 使用Spark Streaming 缓存和容错 205
- 10.3 创建Spark Streaming 应用 206
- 10.3.1 消息生成端 207
- 10.3.2 创建简单的流处理程序 209
- 10.3.3 流式分析 211
- 10.3.4 有状态的流计算213
- 10.4 使用Spark Streaming 进行在线学习 215
- 10.4.1 流回归 215
- 10.4.2 一个简单的流回归程序 216
- 10.4.3 流K—均值 220
- 10.5 在线模型评估 221
-
10.6 小结 224