第1章 开始 1
1.1 计算机科学 1
1.2 人工智能 2
1.3 机器学习 2
1.4 统计学 2
1.5 数学 2
1.6 专业领域知识 3
1.7 数据、信息和知识 3
1.7.1 数据、信息和知识之间的相互性 3
1.7.2 数据的本质 4
1.8 数据分析过程 5
1.8.1 问题 6
1.8.2 数据准备 6
1.8.3 数据探索 7
1.8.4 预测建模 7
1.8.5 结果可视化 8
1.9 定量与定性数据分析 9
1.10 数据可视化的重要性 9
1.11 大数据 10
1.12 自我量化 12
1.12.1 传感器和摄像头 12
1.12.2 社交网络分析 13
1.13 本书的工具和练习 13
1.13.1 为什么使用Python 14
1.13.2 为什么使用mlpy 14
1.13.3 为什么使用D3.js 14
1.13.4 为什么使用MongoDB 15
1.14 小结 15
第2章 数据预处理 16
2.1 数据源 16
2.1.1 开源数据 17
2.1.2 文本文件 18
2.1.3 Excel文件 18
2.1.4 SQL数据库 18
2.1.5 NoSQL数据库 19
2.1.6 多媒体 20
2.1.7 网页检索 20
2.2 数据清洗 22
2.2.1 统计方法 23
2.2.2 文本解析 23
2.2.3 数据转化 25
2.3 数据格式 25
2.3.1 CSV 26
2.3.2 JSON 27
2.3.3 XML 28
2.3.4 YAML 29
2.4 数据归约 30
2.4.1 过滤及抽样 30
2.4.2 分箱算法 30
2.4.3 降维 31
2.5 开始使用OpenRefine工具 32
2.5.1 text facet 33
2.5.2 聚类 33
2.5.3 文本过滤器 34
2.5.4 numeric facet 34
2.5.5 数据转化 35
2.5.6 数据输出 36
2.5.7 操作历史记录 36
2.6 小结 37
第3章 可视化 38
3.1 可视化概述 39
3.2 利用网页版的可视化 39
3.3 探索科学可视化 39
3.4 在艺术上的可视化 40
3.5 可视化生命周期 40
3.6 可视化不同类型的数据 41
3.6.1 HTML 41
3.6.2 DOM 42
3.6.3 CSS 42
3.6.4 JavaScript 43
3.6.5 SVG 43
3.7 开始使用D3.js 43
3.7.1 柱状图 44
3.7.2 饼图 48
3.7.3 散点图 50
3.7.4 单线图 52
3.7.5 多线图 55
3.8 交互与动画 59
3.9 社交网络中的数据 61
3.10 可视化分析的摘要 62
3.11 小结 62
第4章 文本分类 63
4.1 学习和分类 63
4.2 贝叶斯分类 64
4.3 E-mail主题测试器 65
4.4 数据 66
4.5 算法 68
4.6 分类器的准确性 71
4.7 小结 73
第5章 基于相似性的图像检索 74
5.1 图像相似性搜索 74
5.2 动态时间规整 75
5.3 处理图像数据集 77
5.4 执行DTW 77
5.5 结果分析 79
5.6 小结 81
第6章 模拟股票价格 82
6.1 金融时间序列 82
6.2 随机漫步模拟 83
6.3 蒙特卡罗方法 84
6.4 生成随机数 85
6.5 用D3.js实现 86
6.6 计量分析师 91
6.7 小结 93
第7章 预测黄金价格 94
7.1 处理时间序列数据 94
7.2 平滑时间序列 97
7.3 线性回归 100
7.4 数据——历史黄金价格 101
7.5 非线性回归 101
7.5.1 核岭回归 102
7.5.2 平滑黄金价格时间序列 104
7.5.3 平滑时间序列的预测 105
7.5.4 对比预测值 106
7.6 小结 107
第8章 使用支持向量机的方法进行分析 108
8.1 理解多变量数据集 109
8.2 降维 111
8.2.1 线性无差别分析 112
8.2.2 主成分分析 112
8.3 使用支持向量机 114
8.3.1 核函数 115
8.3.2 双螺旋问题 116
8.3.3 在mlpy实现SVM 116
8.4 小结 119
第9章 应用细胞自动机的方法对传染病进行建模 120
9.1 流行病学简介 120
9.2 流行病模型 122
9.2.1 SIR模型 122
9.2.2 使用SciPy来解决SIR模型的常微分方程 123
9.2.3 SIRS模型 124
9.3 对细胞自动机进行建模 125
9.3.1 细胞、状态、网格和邻域 126
9.3.2 整体随机访问模型 127
9.4 通过D3.js模拟CA中的SIRS模型 127
9.5 小结 135
第10章 应用社交图谱 136
10.1 图谱的结构 136
10.1.1 无向图 137
10.1.2 有向图 137
10.2 社交网络分析 137
10.3 捕获Facebook图谱 138
10.4 使用Gephi再现图谱 139
10.5 统计分析 142
10.6 度的分布 144
10.6.1 图谱直方图 145
10.6.2 集中度 146
10.7 将GDF转化为JSON 148
10.8 在D3.js环境下进行图谱可视化 150
10.9 小结 154
第11章 分析Twitter数据 155
11.1 解析Twitter数据 155
11.1.1 tweet 156
11.1.2 粉丝 156
11.1.3 热门话题 156
11.2 使用OAuth访问TwitterAPI 157
11.3 开始使用Twython 158
11.3.1 利用Twython进行简单查询 159
11.3.2 获取时间表数据 163
11.3.3 获取粉丝数据 165
11.3.4 获取地点和趋势信息 167
11.3.5 获取用户数据 168
11.3.6 API流 169
11.4 小结 171
第12章 使用MongoDB进行数据处理和聚合 172
12.1 开始使用MongoDB 172
12.1.1 数据库 173
12.1.2 集合 175
12.1.3 文件 175
12.1.4 Mongo shell 175
12.1.5 Insert/Update/Delete 176
12.1.6 查询 177
12.2 数据准备 178
12.2.1 使用OpenRefine进行数据转换 179
12.2.2 通过PyMongo插入文件 180
12.3 分组 182
12.4 聚合框架 184
12.4.1 流水线 184
12.4.2 表达式 185
12.5 小结 186
第13章 使用MapReduce方法 188
13.1 MapReduce概述 188
13.2 编程模型 189
13.3 在MongoDB中使用MapReduce 190
13.3.1 map函数 190
13.3.2 reduce函数 191
13.3.3 使用Mongo shell 191
13.3.4 使用Jupyter 193
13.3.5 使用PyMongo 194
13.4 过滤输入集合 195
13.5 分组和聚合 196
13.6 在tweet中统计高频词汇 198
13.7 小结 201
第14章 使用Jupyter和Wakari进行在线数据分析 202
14.1 开始使用Wakari 202
14.2 开始使用Jupyter记事本 205
14.3 通过PIL进行图像处理 208
14.3.1 打开图像 208
14.3.2 显示图像直方图 208
14.3.3 过滤 209
14.3.4 操作 211
14.3.5 转化 212
14.4 开始使用pandas 213
14.4.1 处理时间序列 213
14.4.2 通过数据框架来操作多变量数据集 215
14.4.3 分组、聚合和相关 219
14.5 分享你的记事本 221
14.6 小结 224
第15章 使用Apache Spark处理数据 225
15.1 数据处理平台 226
15.1.1 Cloudera平台 226
15.1.2 安装Cloudera VM 227
15.2 分布式文件系统概述 229
15.2.1 使用Hadoop分布式文件系统(HDFS)的具体步骤 229
15.2.2 利用HUE的Web界面来进行文件管理 230
15.3 Apache Spark概述 231
15.3.1 Spark的生态系统 231
15.3.2 Spark编程模型 232
15.3.3 Apache启动的介绍性操作样例 234
15.4 小结 235