图书目录

目    录

 

第1章  数据科学基础设施介绍 1

1.1  选择数据科学基础设施的原因 2

1.2  什么是数据科学基础设施 5

1.2.1  数据科学基础设施堆栈 6

1.2.2  支持数据科学项目的整个生命周期 8

1.2.3  不能以偏概全 9

1.3  良好基础设施的重要性 10

1.3.1  管理复杂性 11

1.3.2  利用现有平台 12

1.4  以人为中心的基础设施 13

1.4.1  自由与责任 14

1.4.2  数据科学家自主性 15

1.5  本章小结 16

第2章  数据科学的工具链 17

2.1  建立开发环境 18

2.1.1  云账户 21

2.1.2  数据科学工作站 22

2.1.3  笔记 24

2.1.4  归纳 27

2.2  介绍工作流 29

2.2.1  工作流基础 30

2.2.2  执行工作流 31

2.2.3  工作流框架 33

2.3  本章小结 35

第3章  Metaflow简介 37

3.1  Metaflow的基本概念 38

3.1.1  安装Metaflow 39

3.1.2  编写基本工作流 40

3.1.3  管理工作流中的数据流 44

3.1.4  参数 50

3.2  分支和合并 55

3.2.1  有效的DAG结构 56

3.2.2  静态分支 57

3.2.3  动态分支 61

3.2.4  控制并发 64

3.3  Metaflow实际应用 66

3.3.1  启动新项目 67

3.3.2  使用客户端API访问结果 69

3.3.3  调试故障 72

3.3.4  最后润色 76

3.4  本章小结 79

第4章  随计算层伸缩 81

4.1  什么是可伸缩性 82

4.1.1  整个堆栈的可伸缩性 83

4.1.2  实验文化 85

4.2  计算层 87

4.2.1  使用容器进行批处理 89

4.2.2  计算层示例 92

4.3  Metaflow中的计算层 98

4.3.1  为Metaflow配置AWS批处理 100

4.3.2  @batch和@resources装饰器 104

4.4  处理故障 107

4.4.1  使用@retry从瞬态错误中恢复 109

4.4.2  使用@timeout杀死僵尸 110

4.4.3  最后一种装饰器:@catch 111

4.5  本章小结 113

第5章  实践可伸缩性和性能 115

5.1  从简单开始:垂直可伸缩性 116

5.1.1  示例:聚类Yelp评论 117

5.1.2  实践垂直可伸缩性 119

5.1.3  为什么选择垂直可

伸缩性 124

5.2  实践水平可伸缩性 126

5.2.1  为什么选择水平可伸缩性 126

5.2.2  示例:超参数搜索 127

5.3  实施性能优化 130

5.3.1  示例:计算共现矩阵 131

5.3.2  加快工作流的方法 139

5.4  本章小结 140

第6章  投入生产 141

6.1  稳定的工作流调度 143

6.1.1  中心化元数据 145

6.1.2  使用AWS Step Functions和Metaflow 147

6.1.3  使用@schedule调度运行 152

6.2  鲁棒的执行环境 153

6.2.1  Metaflow包如何流动 155

6.2.2  为什么依赖管理很重要 160

6.2.3  使用@conda装饰器 162

6.3  稳定运行 167

6.3.1  原型开发期间的命名空间 169

6.3.2  生产命名空间 173

6.3.3  使用@project的并行部署 174

6.4  本章小结 177

第7章  处理数据 179

7.1  快速数据的基础 182

7.1.1  从S3加载数据 183

7.1.2  使用表格数据 188

7.1.3  内存数据堆栈 192

7.2  与数据基础设施的交互 194

7.2.1  现代数据基础设施 195

7.2.2  用SQL准备数据集 199

7.2.3  分布式数据处理 205

7.3  从数据到特征 210

7.3.1  区分事实和特征 211

7.3.2  编码特征 213

7.4  本章小结 218

第8章  使用和操作模型 221

8.1  生成预测 223

8.1.1  批处理、流式和实时预测 225

8.1.2  示例:推荐系统 227

8.1.3  批处理预测 232

8.1.4  实时预测 243

8.2  本章小结 248

第9章  全栈机器学习 249

9.1  可插拔的特征编码器和模型 250

9.1.1  为可插拔的组件开发框架 251

9.1.2  执行特征编码器 255

9.1.3  基准模型 259

9.2  深度回归模型 264

9.2.1  编码输入张量 266

9.2.2  定义深度回归模型 269

9.2.3  训练深度回归模型 272

9.3  总结所学 275

9.4  本章小结 277

附录  安装Conda 279