绪论 1
第1章 Python基础 5
1.1 开发环境、Python基础知识 5
1.1.1 开发环境 5
1.1.2 Python基础知识 5
1.2 列表、元组、字典、集合 10
1.3 模块和函数 18
1.4 科学计算库NumPy 25
1.5 数据分析工具Pandas 39
1.6 数据可视化 41
1.7 面向对象编程、Python的GUI程序设计及Python的数据库编程 45
第2章 模型评估与选择 70
2.1 模型的评估方法 70
2.2 性能度量的方法 71
2.3 模型的选择与常见模型的优缺点 73
第3章 K近邻算法 77
3.1 K近邻算法简介 77
3.2 K近邻算法API初步使用 77
3.3 距离度量 77
3.4 K值的选择 78
3.5 KNN算法的特点及优势与劣势 79
3.6 案例 79
第4章 线性回归 88
4.1 线性回归简介及数学求导 88
4.2 线性回归API初步使用 90
4.3 线性回归的损失和优化 92
4.4 梯度下降法介绍 93
4.5 欠拟合与过拟合 94
4.6 案例 96
第5章 逻辑回归 103
5.1 逻辑回归算法简介 103
5.2 逻辑回归API的初步使用 107
5.3 案例及分类评估方法 108
5.4 ROC曲线绘制 111
第6章 决策树 118
6.1 决策树算法简介 118
6.2 决策树分类原理 118
6.3 CART剪枝 124
6.4 特征工程及特征提取 125
6.5 决策树算法API的初步使用 132
6.6 案例 132
第7章 支持向量机 141
7.1 SVM算法简介及SVM算法API的初步使用 141
7.1.1 基本概念 141
7.1.2 SVM算法API的初步使用 142
7.2 SVM算法原理 144
7.3 SVM算法的损失函数 153
7.4 SVM算法的核函数 154
7.5 SVM回归 155
7.6 案例 155
第8章 朴素贝叶斯分类器 160
8.1 朴素贝叶斯算法简介 160
8.2 概率知识 160
8.3 拉普拉斯估计法 161
8.4 案例 164
第9章 集成学习 178
9.1 不存在强依赖,可同时生成的并行方法 178
9.2 个体学习器有强依赖,串行生成序列方法 181
9.2.1 XGBoost集成学习算法的工作原理 182
9.2.2 停止分裂条件判断 185
9.2.3 XGBoost解决过拟合的问题 186
9.3 XGBoost集成学习算法API初步实验 186
9.4 案例 188
第10章 降维算法 198
10.1 理解降维的目的和常见的方法 198
10.2 线性判别分析法 198
10.3 主成分分析法 203
10.4 案例 211
第11章 聚类 222
11.1 无监督学习、监督学习、半监督学习 222
11.2 聚类算法简介及聚类算法API函数的初步使用 223
11.3 聚类算法实现流程 224
11.4 案例 238
第12章 神经网络和深度学习 245
12.1 神经网络概念 245
12.2 神经网络结构、激活函数 246
12.3 神经网络求解遇到的问题 250
12.4 深度学习基础 255
参考文献 264
附录 Python安装指南 266