目 录
第Ⅰ部分 PYTHON机器学习
第1章 Python 3和Jupyter Notebook入门 3
1.1 Python概述 4
1.1.1 Python编程语言的历史 4
1.1.2 Python编程语言的哲学 4
1.1.3 Python的使用范围 5
1.2 安装Python 6
1.2.1 在Linux 发行版上安装 Python 7
1.2.2 在macOS 上安装Python 7
1.3 Python模式 7
1.3.1 交互模式 7
1.3.2 脚本模式 11
1.4 Pip3工具 13
1.5 科学Python生态系统 14
1.6 Python的实现和发行版 14
1.7 Anaconda发行版 15
1.8 小结 16
第2章 NumPy入门 17
2.1 开始使用NumPy 18
2.2 Ndarray的索引 20
2.3 Ndarray的属性 22
2.4 NumPy常量 23
2.5 小结 24
第3章 数据可视化入门 25
3.1 用于创建Ndarray的NumPy例程 26
3.2 Matplotlib数据可视化 28
3.3 小结 34
第4章 Pandas入门 35
4.1 Pandas基础知识 36
4.2 Pandas中的Series 36
4.3 Pandas中的数据框架 38
4.4 在数据框架中实现数据的可视化 40
4.5 小结 46
第Ⅱ部分 机器学习方法
第5章 Scikit-learn机器学习概述 49
5.1 从数据中学习 50
5.1.1 监督式学习 50
5.1.2 无监督学习 51
5.2 机器学习系统的结构 52
5.2.1 问题理解 53
5.2.2 数据收集 53
5.2.3 数据标注和数据准备 53
5.2.4 数据整理 53
5.2.5 模型的开发、训练和评估 54
5.2.6 模型的部署 54
5.3 Scikit-Learn 55
5.4 安装Scikit-Learn 55
5.5 了解API 56
5.6 第一个Scikit-learn实验 57
5.7 小结 60
第6章 为机器学习准备数据 61
6.1 数据变量的类型 62
6.1.1 名目数据 62
6.1.2 次序数据 62
6.1.3 等距数据 63
6.1.4 等比数据 63
6.2 转换 63
6.2.1 转换名目属性 64
6.2.2 转换有序属性 66
6.3 归一化 67
6.3.1 线性函数归一化 68
6.3.2 标准缩放 69
6.4 预处理文本 70
6.4.1 准备NLTK 70
6.4.2 NLP流水线的5个步骤 71
6.4.3 词干提取和词形还原 72
6.4.4 移除停用词 73
6.4.5 准备词向量 73
6.5 预处理图像 75
6.6 小结 77
第7章 初探监督式学习方法 79
7.1 线性回归 80
7.2 逻辑回归 86
7.2.1 表达式概率的线与曲线的比较 87
7.2.1 学习参数 87
7.2.2 可视化决策边界 90
7.3 决策树 91
7.3.1 构建决策树 92
7.3.2 Python中的决策树 93
7.4 小结 96
第8章 对监督式学习进行调试 97
8.1 训练和测试过程 98
8.2 性能的衡量标准 98
8.2.1 混淆矩阵 99
8.2.2 精确率 100
8.2.3 准确率 100
8.2.3 F值 100
8.2.4 Python中的性能指标 101
8.3 交叉验证 103
8.3.1 为什么要进行交叉验证 104
8.3.2 使用Python进行交叉验证 105
8.4 ROC曲线 106
8.5 过拟合和正则化 109
8.5.1 偏差和方差 112
8.5.2 正则化 113
8.6 超参数调优 116
8.7 小结 120
第9章 再谈监督学习方法 121
9.1 朴素贝叶斯 122
9.1.1 贝叶斯定理 122
9.1.2 条件概率 123
9.1.3 朴素贝叶斯的运作方式 123
9.1.4 多项朴素贝叶斯 124
9.1.5 Python中的朴素贝叶斯 124
9.2 支持向量机 126
9.2.1 SVM的运作方式 127
9.2.2 非线性分类 128
9.2.3 SVM中的核技巧 129
9.2.4 Python中的支持向量机 130
9.3 小结 134
第10章 集成学习方法 135
10.1 Bagging算法和随机森林 136
10.2 Boosting算法 140
10.3 Stacking集成 146
10.4 小结 150
第11章 无监督学习方法 151
11.1 降维 152
11.1.1 了解维数灾难 152
11.1.2 主成分分析 153
11.1.3 Python中的主成分分析 154
11.2 聚类 157
11.2.1 使用k-均值进行聚类 158
11.2.2 Python中的k-均值 158
11.2.3 什么是正确的k 161
11.2.4 聚类之图像分割 162
11.2.5 使用DBSCAN进行聚类 165
11.3 频繁模式挖掘 168
11.3.1 购物篮分析 168
11.3.2 Python中的频繁模式挖掘 169
11.4 小结 172
第Ⅲ部分 神经网络和深度学习
第12章 神经网络和PyTorch基础 175
12.1 安装PyTorch 177
12.2 PyTorch的基础知识 177
12.2.1 创建张量 177
12.2.2 张量操作 179
12.3 感知器 181
12.4 人工神经网络 185
12.5 小结 186
第13章 前馈神经网络 187
13.1 前馈神经网络 188
13.1.1 训练神经网络 189
13.1.2 损失函数 193
13.2 使用人工神经网络进行回归 195
13.3 激活函数 198
13.3.1 ReLU 激活函数 198
13.3.2 Sigmoid 激活函数 199
13.3.3 tanh激活函数 200
13.4 多层人工神经网络 200
13.4.1 PyTorch中的神经网络(NN)类 206
13.4.2 过拟合和Dropout 208
13.5 分类手写数字 209
13.6 小结 214
第14章 卷积神经网络 215
14.1 卷积运算 216
14.2 CNN的结构 219
14.3 在PyTorch中使用卷积神经网络 221
14.4 使用CNN进行图像分类 223
14.5 卷积神经网络的深度网络 233
14.5 小结 234
第15章 循环神经网络 235
15.1 循环单元 236
15.2 RNN的类型 238
15.2.1 一对一 238
15.2.2 一对多 238
15.2.3 多对一 238
15.2.4 多对多 239
15.3 Python中的RNN 239
15.4 长短期记忆 240
15.4.1 LSTM单元 241
15.4.2 时间序列预测 242
15.5 门控循环单元 252
15.6 小结 252
第16章 项目实战 253
16.1 数据科学生命周期 254
16.2 如何提供ML应用 257
16.3 通过实践学习 258
16.3.1 定义问题 258
16.3.2 数据 259
16.3.3 准备模型 263
16.3.4 序列化模型,以便未来用于预测 268
16.3.5 托管模型 270
16.4 未来可期 271