第1章 开始 1
1.1 计算机科学 1
1.2 人工智能 1
1.3 机器学习 2
1.4 统计学 2
1.5 数学 2
1.6 专业领域知识 2
1.7 数据、信息和知识 3
1.8 数据的本质 3
1.9 数据分析过程 4
1.9.1 问题 5
1.9.2 数据准备 5
1.9.3 数据探索 5
1.9.4 预测建模 6
1.9.5 结果可视化 6
1.10 定量与定性数据分析 7
1.11 数据可视化的重要性 7
1.12 大数据 8
1.12.1 传感器和摄像头 9
1.12.2 社会化网络分析 10
1.12.3 本书的工具和练习 11
1.12.4 为什么使用Python 11
1.12.5 为什么使用mlpy 11
1.12.6 为什么使用D3.js 12
1.12.7 为什么使用MongoDB 12
1.13 小结 12
第2章 数据准备与处理 13
2.1 数据源 13
2.1.1 开源数据 14
2.1.2 文本文件 14
2.1.3 Excel文件 15
2.1.4 SQL数据库 15
2.1.5 NoSQL数据库 16
2.1.6 多媒体 17
2.1.7 网页检索 17
2.2 数据清洗 19
2.2.1 统计方法 20
2.2.2 文本解析 20
2.2.3 数据转化 21
2.3 数据格式 22
2.3.1 CSV 22
2.3.2 JSON 24
2.3.3 XML 25
2.3.4 YAML 26
2.4 开始使用OpenRefine工具 27
2.4.1 Textfacet 27
2.4.2 聚类 27
2.4.3 文件过滤器 28
2.4.4 numeric facet 29
2.4.5 数据转化 29
2.4.6 数据输出 30
2.4.7 处理历史 31
2.5 小结 31
第3章 数据可视化 32
3.1 数据导向文件 32
3.1.1 HTML 33
3.1.2 DOM 33
3.1.3 CSS 34
3.1.4 JavaScript 34
3.1.5 SVG 34
3.2 开始使用D3.js 34
3.2.1 柱状图 35
3.2.2 饼图 39
3.2.3 散点图 41
3.2.4 单线图 43
3.2.5 多线图 46
3.3 交互与动画 49
3.4 小结 52
第4章 文本分类 53
4.1 学习和分类 53
4.2 贝叶斯分类 54
4.3 E-mail主题测试器 55
4.4 数据 56
4.5 算法 57
4.6 分类器的准确性 61
4.7 小结 62
第5章 基于相似性的图像检索 63
5.1 图像相似性搜索 63
5.2 动态时间规整 64
5.3 处理图像数据集 65
5.4 执行DTW 66
5.5 结果分析 68
5.6 小结 70
第6章 模拟股票价格 71
6.1 金融时间序列 71
6.2 随机游走模拟 72
6.3 蒙特·卡罗方法 73
6.4 生成随机数 73
6.5 用D3.js实现 74
6.6 小结 80
第7章 预测黄金价格 82
7.1 处理时间序列数据 82
7.2 平滑时间序列 85
7.3 数据——历史黄金价格 87
7.4 非线性回归 88
7.4.1 核岭回归 88
7.4.2 平滑黄金价格时间序列 90
7.4.3 平滑时间序列的预测 91
7.4.4 对比预测值 92
7.5 小结 93
第8章 使用支持向量机的方法进行分析 94
8.1 理解多变量数据集 94
8.2 降维 97
8.2.1 线性无差别分析 98
8.2.2 主成分分析 98
8.3 使用支持向量机 100
8.3.1 核函数 101
8.3.2 双螺旋问题 101
8.3.3 在mlpy中执行SVM 102
8.4 小结 105
第9章 应用细胞自动机的方法对传染病进行建模 106
9.1 流行病学简介 106
9.2 流行病模型 108
9.2.1 SIR模型 108
9.2.2 使用SciPy来解决SIR模型的常微分方程 108
9.2.3 SIRS模型 110
9.3 对细胞自动机进行建模 111
9.3.1 细胞、状态、网格和邻域 111
9.3.2 整体随机访问模型 111
9.4 通过D3js模拟CA中的SIRS模型 112
9.5 小结 120
第10章 应用社会化图谱 121
10.1 图谱的结构 121
10.1.1 间接图谱 121
10.1.2 直接图谱 122
10.2 社会化网络分析 122
10.3 捕获Facebook图谱 123
10.4 使用Gephi对图谱进行再现 126
10.5 统计分析 128
10.6 度的分布 129
10.6.1 图谱直方图 130
10.6.2 集中度 131
10.7 将GDF转化为JSON 133
10.8 在D3.js环境下进行图谱可视化 135
10.9 小结 139
第11章 对Twitter数据进行情感分析 140
11.1 解析Twitter数据 140
11.1.1 tweet 140
11.1.2 粉丝 141
11.1.3 热门话题 141
11.2 使用OAuth访问API 142
11.3 开始使用Twython 143
11.3.1 简单查询 144
11.3.2 处理时间表 147
11.3.3 处理粉丝 149
11.3.4 处理地点和趋势信息 151
11.4 情感分类 153
11.4.1 ANEW 154
11.4.2 语料库 154
11.5 使用NLTK 155
11.5.1 单词包 156
11.5.2 朴素贝叶斯 156
11.5.3 tweet的情感分析 158
11.6 小结 159
第12章 使用MongoDB进行数据处理和聚合 160
12.1 开始使用MongoDB 160
12.1.1 数据库 161
12.1.2 集合 161
12.1.3 文件 162
12.1.4 Mongo shell 162
12.1.5 Insert/Update/Delete 163
12.1.6 Queries查询 163
12.2 数据准备 165
12.2.1 使用OpenRefine进行数据转换 165
12.2.2 通过PyMongo来插入文件 167
12.3 分组 169
12.4 聚合框架 172
12.4.1 流水线 173
12.4.2 表达式 174
12.5 小结 175
第13章 使用MapReduce方法 176
13.1 MapReduce概述 176
13.2 编程模型 177
13.3 在MongoDB中使用MapReduce 178
13.3.1 map函数 178
13.3.2 reduce函数 178
13.3.3 使用Mongo shell 179
13.3.4 使用UMongo 180
13.3.5 使用PyMongo 182
13.4 过滤输入集合 184
13.5 分组和聚合 184
13.6 文字云对tweet中最常见的积极词汇进行可视化 186
13.7 小结 191
第14章 使用IPython和Wakari进行在线数据分析 192
14.1 开始使用Wakari 192
14.2 开始使用IPython记事本 195
14.3 通过PIL进行图像处理简介 197
14.3.1 打开一个图像 197
14.3.2 图像直方图 198
14.3.3 过滤 198
14.3.4 操作 200
14.3.5 转化 201
14.4 使用Pandas 202
14.4.1 处理时间序列 202
14.4.2 通过数据框架来操作多变量数据集 206
14.4.3 分组、聚合和相关 208
14.5 使用IPython进行多机处理 211
14.6 分享你的记事本 212
14.7 小结 214
附录 环境搭建 215