编辑推荐
Apache Spark是一个分布式计算框架,专为满足低延迟任务和内存数据存储的需求而优化。现有并行计算框架中,鲜有能兼顾速度、可扩展性、内存处理以及容错性,同时还能简化编程,提供灵活、表达力丰富的强大API的,Apache Spark就是这样一个难得的框架。
本书介绍了Spark的基础知识,从利用Spark API来载入和处理数据,到将数据作为多种机器学习模型的输入。此外还通过详细的例子和现实应用讲解了常见的机器学习模型,包括推荐系统、分类、回归、聚类和降维。另外还介绍了一些高阶内容,如大规模文本数据的处理,以及Spark Streaming下的在线机器学习和模型评估方法。
如果你是一名Scala、Java或Python开发者,对机器学习和数据分析感兴趣,并想借助Spark框架来实现常见机器学习技术的大规模应用,那么本书便是为你而写。有Spark的基础知识,但并不要求你有实践经验。
通过学习本书,你将能够:
用Scala、Java或Python语言编写你的一个Spark程序;
获取公开的机器学习数据集,以及使用Spark对数据进行载入、处理、清理和转换;
借助Spark机器学习库,利用协同过滤、分类、回归、聚类和降维等常见的机器学习模型来编写程序;
编写Spark函数来评估你的机器学习模型的性能;
了解大规模文本数据的处理方法,包括特征提取和将文本数据作为机器学习模型的输入;
探索在线学习方法,利用Spark Streaming来进行在线学习和模型评估。
内容简介
《Spark机器学习》每章都设计了案例研究,以机器学习算法为主线,结合实例探讨了Spark 的实际应用。书中没有让人抓狂的数据公式,而是从准备和正确认识数据开始讲起,全面涵盖了推荐系统、回归、聚类、降维等经典的机器学习算法及其实际应用。
作者简介
Nick Pentreath是Graphflow公司联合创始人。Graphflow是一家大数据和机器学习公司,专注于以用户为中心的推荐系统和客户服务智能化技术。Nick拥有金融市场、机器学习和软件开发背景,曾任职于高盛集团,之后去在线广告营销创业公司Cognitive Match Limited(伦敦)担任研究科学家,后又去非洲更大的社交网络Mxit领导数据科学与分析团队。Nick是Apache 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.1 20 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
前言/序言
Spark机器学习 电子书 下载 mobi epub pdf txt