第一部分 数据科学引论 2
第1章 数据科学处理过程 2
1.1 数据科学项目中的角色 2
1.2 数据科学项目的阶段 4
1.2.1 制定目标 5
1.2.2 收集和管理数据 5
1.2.3 建立模型 7
1.2.4 模型评价和批判 8
1.2.5 展现和编制文档 9
1.2.6 模型部署和维护 10
1.3 设定预期 11
1.4 小结 12
第2章 向R加载数据 14
2.1 运用文件中的数据 14
2.1.1 在源自文件或URL的良结构数据上使用R 15
2.1.2 在欠结构数据上使用R 17
2.2 在关系数据库上使用R 19
2.2.1 一个生产规模的示例 20
2.2.2 从数据库向R系统加载数据 23
2.2.3 处理PUMS数据 25
2.3 小结 28
第3章 探索数据 29
3.1 使用概要统计方法发现问题 30
3.2 用图形和可视化方法发现问题 34
3.2.1 可视化检测单变量的分布 35
3.2.2 可视化检测两个变量间的关系 42
3.3 小结 51
第4章 管理数据 52
4.1 清洗数据 52
4.1.1 处理缺失值 52
4.1.2 数据转换 56
4.2 为建模和验证采样 61
4.2.1 测试集和训练集的划分 61
4.2.2 创建一个样本组列 62
4.2.3 记录分组 63
4.2.4 数据溯源 63
4.3 小结 63
第二部分 建模方法 66
第5章 选择和评价模型 66
5.1 将业务问题映射到机器学习任务 67
5.1.1 解决分类问题 67
5.1.2 解决打分问题 68
5.1.3 目标未知情况下的处理 69
5.1.4 问题到方法的映射 71
5.2 模型评价 71
5.2.1 分类模型的评价 72
5.2.2 打分模型的评价 76
5.2.3 概率模型的评价 78
5.2.4 排名模型的评价 82
5.2.5 聚类模型的评价 82
5.3 模型验证 84
5.3.1 常见的模型问题的识别 84
5.3.2 模型可靠性的量化 85
5.3.3 模型质量的保证 86
5.4 小结 88
第6章 记忆化方法 89
6.1 KDD和KDD Cup 2009 89
6.2 构建单变量模型 91
6.2.1 使用类别型特征 92
6.2.2 使用数值型特征 94
6.2.3 使用交叉验证估计过拟合的影响 96
6.3 构建多变量模型 97
6.3.1 变量选择 97
6.3.2 使用决策树 99
6.3.3 使用最近邻方法 102
6.3.4 使用朴素贝叶斯 105
6.4 小结 108
第7章 线性回归与逻辑斯谛回归 110
7.1 使用线性回归 110
7.1.1 理解线性回归 110
7.1.2 构建线性回归模型 113
7.1.3 预测 114
7.1.4 发现关系并抽取建议 117
7.1.5 解读模型概要并刻画系数质量 118
7.1.6 线性回归要点 122
7.2 使用逻辑斯谛回归 123
7.2.1 理解逻辑斯谛回归 123
7.2.2 构建逻辑斯谛回归模型 124
7.2.3 预测 125
7.2.4 从逻辑斯谛回归模型中发现关系并抽取建议 129
7.2.5 解读模型概要并刻画系数 130
7.2.6 逻辑斯谛回归要点 136
7.3 小结 137
第8章 无监督方法 138
8.1 聚类分析 138
8.1.1 距离 139
8.1.2 准备数据 140
8.1.3 使用hclust()进行层次聚类 142
8.1.4 k-均值算法 150
8.1.5 分派新的点到簇 154
8.1.6 聚类要点 156
8.2 关联规则 156
8.2.1 关联规则概述 156
8.2.2 问题举例 157
8.2.3 使用arules程序包挖掘关联规则 158
8.2.4 关联规则要点 165
8.3 小结 165
第9章 高级方法探索 166
9.1 使用bagging和随机森林方法减少训练方差 167
9.1.1 使用bagging方法改进预测 167
9.1.2 使用随机森林方法进一步改进预测 170
9.1.3 bagging和随机森林方法要点 173
9.2 使用广义加性模型学习非单调关系 173
9.2.1 理解GAM 174
9.2.2 一维回归示例 174
9.2.3 提取非线性关系 178
9.2.4 在真实数据上使用GAM 179
9.2.5 使用GAM实现逻辑斯谛回归 182
9.2.6 GAM要点 183
9.3 使用核方法提高数据可分性 183
9.3.1 理解核函数 184
9.3.2 在问题中使用显式核函数 187
9.3.3 核方法要点 190
9.4 使用SVM对复杂的决策边界建模 190
9.4.1 理解支持向量机 190
9.4.2 在人工示例数据中使用SVM 192
9.4.3 在真实数据中使用SVM 195
9.4.4 支持向量机要点 197
9.5 小结 197
第三部分 结果交付 200
第10章 文档编制和部署 200
10.1 buzz数据集 200
10.2 使用knitr产生里程碑文档 202
10.2.1 knitr是什么 202
10.2.2 knitr技术详解 204
10.2.3 使用knitr编写buzz数据文档 205
10.3 在运行时文档编制中使用注释和版本控制 208
10.3.1 编写有效注释 208
10.3.2 使用版本控制记录历史 209
10.3.3 使用版本控制探索项目 213
10.3.4 使用版本控制分享工作 217
10.4 模型部署 220
10.4.1 将模型部署为R HTTP服务 220
10.4.2 按照输出部署模型 222
10.4.3 要点 223
10.5 小结 224
第11章 有效的结果展现 226
11.1 将结果展现给项目出资方 227
11.1.1 概述项目目标 228
11.1.2 陈述项目结果 229
11.1.3 补充细节 230
11.1.4 提出建议并讨论未来工作 231
11.1.5 向项目出资方展现的要点 232
11.2 向最终用户展现模型 232
11.2.1 概述项目目标 232
11.2.2 展现模型如何融入用户的工作流程 233
11.2.3 展现如何使用模型 235
11.2.4 向最终用户展现的要点 236
11.3 向其他数据科学家展现你的工作 236
11.3.1 介绍问题 236
11.3.2 讨论相关工作 237
11.3.3 讨论你的方法 238
11.3.4 讨论结果和未来工作 239
11.3.5 向其他数据科学家展现的要点 240
11.4 小结 240
附录A使用R和其他工具 241