本书由前IBM首席数据科学家撰写,旨在为励志成为数据科学家的读者给出一个可行的实践指南。从Python入门开始,逐步实现数据分析、机器学习等通用算法,进而讨论数据科学家的典型工作流程,*后从实践入手,由浅入深,精选决策树、降维技术、支持向量机等数据分析案例,让读者能逐步理解晦涩的公式理论并上手操作,可以满足不同层次的读者需求。
译者序
前言
读者指南
第1章 数据科学家的试验与磨难 1
1.1 数据?科学?数据科学! 1
1.2 数据科学家:现代鹿角兔 4
1.3 数据科学工具 9
1.4 从数据到洞察力:数据科学工作流 11
1.4.1 识别问题 13
1.4.2 获取数据 13
1.4.3 数据挖掘 13
1.4.4 建模与评价 13
1.4.5 表征与互动 14
1.4.6 数据科学:一个迭代过程 14
1.5 总结 15
第2章 Python:完全不同的编程语言 16
2.1 为何是Python?为何不是? 17
2.1.1 使用Shell或不使用Shell 19
2.1.2 使用iPython/Jupyter Notebook 20
2.2 初探Python 21
2.2.1 基本类型 21
2.2.2 数字 21
2.2.3 字符串 22
2.2.4 复数 23
2.2.5 列表 24
2.2.6 元组 27
2.2.7 字典 29
2.3 控制流 31
2.3.1 if ... elif ... else 31
2.3.2 while 32
2.3.3 for 33
2.3.4 try... except 34
2.3.5 函数 36
2.3.6 脚本和模块 39
2.4 计算和数据处理 41
2.4.1 矩阵操作和线性代数 41
2.4.2 NumPy数组和矩阵 42
2.4.3 索引和切片 45
2.5 “熊猫”前来救驾 46
2.6 绘图和可视化库:Matplotlib 50
2.7 总结 52
第3章 能够探知的机器:机器学习和模式识别 53
3.1 认知模式 53
3.2 人工智能和机器学习 54
3.3 数据很好,但也需要其他支持 56
3.4 学习、预测和分类 57
3.5 机器学习和数据科学 58
3.6 特征选择 59
3.7 偏差、差异和正规化:平衡法 60
3.8 一些有用的措施:距离和相似性 61
3.9 注意“维度的诅咒” 64
3.10 Scikit-learn是我们的朋友 67
3.11 训练和测试 70
3.12 交叉验证 72
3.13 总结 75
第4章 关系难题:回归 76
4.1 变量之间的关系:回归 76
4.2 多元线性回归 78
4.3 普通最小二乘法 80
4.4 大脑与身体:单变量回归 83
4.5 对数变换 90
4.6 使任务更容易:标准化和扩展 93
4.6.1 正则化或单位缩放 94
4.6.2 z-Score缩放 95
4.7 多项式回归 96
4.8 方差–偏差权衡 99
4.9 收缩:选择运算符和Ridge 101
4.10 总结 105
第5章 鹿角兔和野兔:聚类 107
5.1 聚类 107
5.2 k–均值聚类 108
5.2.1 聚类验证 110
5.2.2 k–均值实际操作 112
5.3 总结 115
第6章 独角兽和马:分类 116
6.1 分类 116
6.1.1 混淆矩阵 117
6.1.2 ROC和AUC 119
6.2 使用KNN算法分类 121
6.3 逻辑回归分类器 126
6.3.1 逻辑回归的解释 129
6.3.2 逻辑回归的应用 130
6.4 使用朴素贝叶斯算法进行分类 136
6.4.1 朴素贝叶斯分类器 139
6.4.2 朴素贝叶斯分类的应用 140
6.5 总结 144
第7章 决策:分层聚类、决策树和集成技术 145
7.1 分层聚类 145
7.2 决策树 150
7.3 集成技术 160
7.3.1 套袋 164
7.3.2 助推 164
7.3.3 随机森林 165
7.3.4 层叠和混合 166
7.4 集成技术实践 167
7.5 总结 171
第8章 少即多:降维 172
8.1 降维 172
8.2 主成分分析 175
8.2.1 PCA实践 177
8.2.2 PCA在鸢尾花数据集中的应用 180
8.3 奇异值分解 183
8.4 推荐系统 187
8.4.1 基于内容的过滤实践 188
8.4.2 协同过滤实践 191
8.5 总结 195
第9章 内核秘诀:支持向量机 197
9.1 支持向量机和内核方法 197
9.1.1 支持向量机 199
9.1.2 内核的技巧 204
9.1.3 SVM实践:回归 205
9.1.4 SVM实践:分类 208
9.2 总结 212
附录 Scikit-learn中的管道 213
参考文献 217