1 编程和数据科学——一个新的工具集 1
什么是数据科学 1
数据科学会长期存在吗? 2
为什么数据科学正在兴起? 3
数据科学与开发人员有什么关系? 4
将这些概念付诸实践 5
深入研究一个具体的示例 6
数据管道蓝图 7
数据科学家应该具备什么技能? 9
IBM Watson Deep QA 10
回到Twitter带#标签的情感分析项目 13
从构建第一条企业级数据管道中汲取的经验教训 15
数据科学策略 16
Jupyter Notebook是我们的战略核心 18
为什么Notebook这么流行? 19
本章小结 21
2 Python和Jupyter Notebook为数据分析提供动力 23
为什么选择Python? 23
PixieDust入门 27
SampleData——一个用于加载数据的简单API 31
用pixiedust_rosie整理数据 36
Display——一个简单的交互式数据可视化API 42
过滤 50
用PixieApp消除开发人员和数据科学家之间的壁垒 52
操作化数据科学分析的体系结构 55
本章小结 59
3 使用Python库加速数据分析 60
PixieApp深度剖析 61
路由 62
生成路由请求 65
GitHub项目跟踪示例程序 67
在表格中显示搜索结果 70
使用pd_entity属性调用PixieDust display()API 78
使用pd_script调用任意Python代码 85
用pd_refresh让应用程序更具响应性 90
创建可重用的小部件 93
本章小结 94
4 用PixieApp工具发布数据分析结果 95
Kubernetes概述 96
安装和配置PixieGateway服务器 97
PixieGateway服务器配置 101
PixieGateway体系结构 105
发布应用程序 108
PixieApp URL中的编码状态 112
通过将图表发布为网页来共享它们 114
PixieGateway管理控制台 118
Python控制台 120
显示PixieApp的预热和运行代码 121
本章小结 121
5 Python和PixieDust最佳实践与高级概念 122
使用@captureOutput装饰器集成第三方Python库的输出 123
使用@captureOutput创建词云图像 123
增加模块化和代码重用 126
使用pd_widget创建小部件 128
PixieDust中的流式数据支持 130
向PixieApp添加流处理功能 134
添加带有PixieApp事件的仪表盘下钻功能 136
扩展PixieDust可视化 141
调试 148
使用pdb调试Jupyter Notebook 148
使用PixieDebugger进行可视化调试 152
使用PixieDebugger调试PixieApp路由 154
使用PixieDust日志记录排除问题 157
客户端调试 159
在Python笔记本中运行Node.js 161
本章小结 165
6 分析案例:人工智能与TensorFlow图像识别 167
什么是机器学习? 168
什么是深度学习? 169
开始使用TensorFlow 172
用DNNClassifier进行简单分类 176
图像识别示例应用程序 187
第1部分——加载预训练的MobileNet模型 188
第2部分——为我们的图像识别示例应用程序创建一个PixieApp 196
第3部分——集成TensorBoard图形可视化 200
第4部分——使用自定义训练数据重新训练模型 206
本章小结 217
7 分析案例:自然语言处理、大数据与Twitter情感分析 218
ApacheSpark入门 218
Apache Spark体系结构 219
将Notebook配置为使用Spark 220
“Twitter情感分析”应用程序 222
第1部分——以Spark Structured Streaming获取数据 223
数据管道的体系结构图 224
Twitter的身份验证 224
创建Twitter流 226
创建Spark Streaming DataFrame 229
创建和运行结构化查询 232
监控活动流式查询 234
从Parquet文件创建批量DataFrame 236
第2部分——用情感和提取的最相关实体来丰富数据 238
IBM Watson Natural Language Undersanding服务入门 239
第3部分——创建实时仪表盘 246
将分析重构为它们自己的方法 246
创建PixieApp 249
第4部分——使用Apache Kafka和IBM Streams Designer添加可伸缩性 258
将原始推文流到Kafka 259
使用Streaming Analytics服务丰富推文数据 263
使用Kafka输入源创建Spark Streaming DataFrame 270
本章小结 273
8 分析案例:预测——金融时间序列分析与预测 274
NumPy入门 275
创建NumPy数组 278
ndarray运算 280
NumPy数组的选择操作 282
广播 284
时间序列的统计探索 286
虚拟投资 293
自相关函数(ACF)和偏自相关函数(PACF) 294
将它们与StockExplorer PixieApp放在一起 297
BaseSubApp——所有子PixieApp的基类 302
StockExploreSubApp——第一个子PixieApp 304
MovingAverageSubApp——第二个子PixieApp 306
AutoCorrelationsubApp——第三个子PixieApp 309
ARIMA模型在时间序列预测中的应用 312
建立MSFT股票时间序列的ARIMA模型 314
StockExplorer PixieApp第2部分——使用ARIMA模型添加时间序列预测 323
本章小结 336
9 分析案例:图形算法——美国国内航班数据分析 338
图形概述 338
图形表示 340
图形算法 341
图形和大数据 344
networkx图形库入门 345
创建图形 345
可视化图形 347
第1部分——将美国国内航班数据加载到图中 348
图的中心性 357
第2部分——创建USFlightsAnalysis PixieApp 366
第3部分——向USFlightsAnalysis PixieApp添加数据探索功能 376
第4部分——创建预测航班延误的ARIMA模型 386
本章小结 399
10 数据分析的未来与拓展技能的途径 400
前瞻性思考——人工智能与数据科学的未来展望 401
参考资料 403
附录 PixieApp快速参考 405
注释 405
自定义HTML属性 408
方法 413