第1章 探索数据分析 1
1.1 Scala入门 2
1.2去除分类字段的重复值 2
1.3数值字段概述 4
1.4基本抽样、分层抽样和一致抽样 5
1.5使用Scala和Spark的Note-book工作 8
1.6相关性的基础 12
1.7总结 14
第2章 数据管道和建模 15
2.1影响图 16
2.2序贯试验和风险处理 17
2.3探索与利用问题 21
2.4不知之不知 23
2.5数据驱动系统的基本组件 23
2.5.1数据收集 24
2.5.2数据转换层 25
2.5.3数据分析与机器学习 26
2.5.4 UI组件 26
2.5.5动作引擎 28
2.5.6关联引擎 28
2.5.7监控 28
2.6优化和交互 28
2.7总结 29
第3章 使用Spark和MLIib 30
3.1安装Spark 31
3.2理解Spark的架构 32
3.2.1任务调度 32
3.2.2 Spark的组件 35
3.2.3 MQTT、ZeroMQ、Flume和Kafka 36
3.2.4 HDFS、Cassandra、S3和Tachyon 37
3.2.5 Mesos、YARN和Standa-lone 38
3.3应用 38
3.3.1单词计数 38
3.3.2基于流的单词计数 41
3.3.3 Spark SQL和数据框 45
3.4机器学习库 46
3.4.1 SparkR 47
3.4.2图算法:Graphx和Graph-Frames 48
3.5 Spark的性能调整 48
3.6运行Hadoop的HDFS 49
3.7总结 54
第4章 监督学习和无监督学习 55
4.1记录和监督学习 55
4.1.1 Iirs数据集 56
4.1.2类标签点 57
4.1.3 SVMWithSGD 58
4.1.4 logistic回归 60
4.1.5决策树 62
4.1.6 bagging和boosting:集成学习方法 66
4.2无监督学习 66
4.3数据维度 71
4.4总结 73
第5章 回归和分类 74
5.1回归是什么 74
5.2连续空间和度量 75
5.3线性回归 77
5.4 logistic回归 81
5.5正则化 83
5.6多元回归 84
5.7异方差 84
5.8回归树 85
5.9分类的度量 87
5.10多分类问题 87
5.11感知机 87
5.12泛化误差和过拟合 90
5.13总结 90
第6章 使用非结构化数据 91
6.1嵌套数据 92
6.2其他序列化格式 100
6.3 Hive和Impala 102
6.4会话化 104
6.5使用特质 109
6.6使用模式匹配 110
6.7非结构化数据的其他用途 113
6.8概率结构 113
6.9投影 113
6.10总结 113
第7章 使用图算法 115
7.1图简介 115
7.2 SBT 116
7.3 Scala的图项目 119
7.3.1增加节点和边 121
7.3.2图约束 123
7.3.3 JSON 124
7.4 GraphX 126
7.4.1谁收到电子邮件 130
7.4.2连通分量 131
7.4.3三角形计数 132
7.4.4强连通分量 132
7.4.5 PageRank 133
7.4.6 SVD++ 134
7.5总结 138
第8章 Scala与R和Python的集成 139
8.1 R的集成 140
8.1.1 R和SparkR的相关配置 140
8.1.2数据框 144
8.1.3线性模型 150
8.1.4广义线性模型 152
8.1.5在SparkR中读取JSON文件 156
8.1.6在SparkR中写入Parquet文件 157
8.1.7从R调用Scala 158
8.2 Python的集成 161
8.2.1安装Python 161
8.2.2 PySpark 162
8.2.3从Java/Scala调用Python 163
8.3总结 167
第9章 Scala中的NLP 169
9.1文本分析流程 170
9.2 Spark的MLlib库 177
9.2.1 TF-IDF 177
9.2.2 LDA 178
9.3分词、标注和分块 185
9.4 POS标记 186
9.5使用word2vec寻找词关系 189
9.6总结 192
第10章 高级模型监控 193
10.1系统监控 194
10.2进程监控 195
10.3模型监控 201
10.3.1随时间变化的性能 202
10.3.2模型停用标准 202
10.3.3 A/B测试 202
10.4总结 202