Python机器学习算法与实战
作者:孙玉林,余本国 著
出版时间: 2021年版
内容简介
本书基于Python语言,结合实际的数据集,介绍如何使用机器学习与深度学习算法,对数据进行实战分析。本书在内容上循序渐进,先介绍了Python的基础内容,以及如何利用Python中的第三方库对数据进行预处理和探索可视化的相关操作,然后结合实际数据集,分章节介绍了机器学习与深度学习的相关算法应用。本书为读者提供了源程序和使用的数据集,方便读者在阅读时同步运行程序,在增强学习效果的同时为读者节省了编写程序的时间。源程序使用Notebook的形式进行组织,每个小节注释清晰,讲解透彻。同时为程序配备了相应的视频讲解,辅助读者对程序能很好地理解和消化。本书在简明扼要地介绍算法原理的同时,更加注重实战应用和对结果的解读。
目录
第1章 Python机器学习入门 1
1.1 机器学习简介 1
1.1.1 机器学习是什么 1
1.1.2 机器学习算法分类 2
1.2 安装Anaconda(Python) 6
1.2.1 Spyder 7
1.2.2 Jupyter Notebook 8
1.2.3 JupyterLab 8
1.3 Python快速入门 10
1.3.1 列表、元组和字典 10
1.3.2 条件判断、循环和函数 15
1.4 Python基础库入门实战 18
1.4.1 NumPy库应用入门 18
1.4.2 pandas库应用入门 25
1.4.3 Matplotlib库应用入门 34
1.5 机器学习模型初探 40
1.6 本章小结 43
第2章 数据探索与可视化 44
2.1 缺失值处理 45
2.1.1 简单的缺失值处理方法 46
2.1.2 复杂的缺失值填充方法 52
2.2 数据描述与异常值发现 55
2.2.1 数据描述统计 55
2.2.2 发现异常值的基本方法 61
2.3 可视化分析数据关系 63
2.3.1 连续变量间关系可视化分析 63
2.3.2 分类变量间关系可视化分析 68
2.3.3 连续变量和分类变量间关系可视化分析 71
2.3.4 其他类型数据可视化分析 77
2.4 数据样本间的距离 80
2.5 本章小结 84
第3章 特征工程 86
3.1 特征变换 87
3.1.1 数据的无量纲化处理 87
3.1.2 数据特征变换 93
3.2 特征 96
3.2.1 分类特征重新编码 97
3.2.2 数值特征重新编码 98
3.2.3 文本数据的特征构建 102
3.3 特征选择 105
3.3.1 基于统计方法 106
3.3.2 基于递归消除特征法 107
3.3.3 基于机器学习的方法 108
3.4 特征提取和降维 109
3.4.1 主成分分析 109
3.4.2 核主成分分析 111
3.4.3 流形学习 113
3.4.4 t-SNE 114
3.4.5 多维尺度分析 115
3.5 数据平衡方法 116
3.5.1 基于过采样算法 117
3.5.2 基于欠采样算法 119
3.5.3 基于过采样和欠采样的综合算法 121
3.6 本章小结 122
第4章 模型选择和评估 124
4.1 模型拟合效果 124
4.1.1 欠拟合与过拟合表现方式 124
4.1.2 避免欠拟合与过拟合的方法 126
4.2 模型训练技巧 127
4.2.1 交叉验证 128
4.2.2 参数网络搜索 132
4.3 模型的评价指标 134
4.3.1 分类效果评价 134
4.3.2 回归效果评价 135
4.3.3 聚类效果评价 137
4.4 本章小结 138
第5章 假设检验和回归分析 139
5.1 假设检验 141
5.1.1 数据分布检验 141
5.1.2 t检验 144
5.1.3 方差分析 145
5.2 一元回归 149
5.2.1 一元线性回归 149
5.2.2 一元非线性回归 151
5.3 多元回归 154
5.3.1 多元线性回归 155
5.3.2 逐步回归 161
5.3.3 多元自适应回归样条 164
5.4 正则化回归分析 166
5.4.1 Ridge回归分析 169
5.4.2 LASSO回归分析 172
5.4.3 弹性网络回归 176
5.5 Logistic回归分析 178
5.5.1 数据准备与可视化 179
5.5.2 逻辑回归分类 181
5.6 本章小结 185
第6章 时间序列分析 186
6.1 时间序列数据的相关检验 187
6.1.1 白噪声检验 188
6.1.2 平稳性检验 189
6.1.3 自相关分析和偏自相关分析 192
6.2 移动平均算法 196
6.2.1 简单移动平均法 197
6.2.2 简单指数平滑法 198
6.2.3 霍尔特线性趋势法 199
6.2.4 Holt-Winters季节性预测模型 201
6.3 ARIMA模型 202
6.3.1 AR模型 202
6.3.2 ARMA模型 205
6.3.3 ARIMA模型 209
6.4 SARIMA模型 213
6.5 Prophet模型预测时间序列 215
6.5.1 数据准备 216
6.5.2 模型建立与数据预测 216
6.6 多元时间序列ARIMAX模型 220
6.6.1 数据准备与可视化 220
6.6.2 ARIMAX模型建立与预测 223
6.7 时序数据的异常值检测 227
6.7.1 数据准备与可视化 228
6.7.2 时序数据异常值检测 228
6.8 本章小结 230
第7章 聚类算法与异常值检测 232
7.1 模型简介 232
7.1.1 常用的聚类算法 232
7.1.2 常用的异常值检测算法 234
7.2 数据聚类分析 236
7.2.1 K-均值与K-中值聚类算法 236
7.2.2 层次聚类 243
7.2.3 谱聚类与模糊聚类 245
7.2.4 密度聚类(DBSCAN) 249
7.2.5 高斯混合模型聚类 253
7.2.6 亲和力传播聚类 255
7.2.7 BIRCH聚类 258
7.3 数据异常值检测分析 261
7.3.1 LOF和COF算法 262
7.3.2 带有异常值的高维数据探索 267
7.3.3 基于PCA与SOD的异常值检测方法 270
7.3.4 孤立森林异常值检测 274
7.3.5 支持向量机异常值检测 276
7.4 本章小结 279
第8章 决策树和集成学习 280
8.1 模型简介与数据准备 280
8.1.1 决策树与集成学习算法思想 280
8.1.2 数据准备和探索 284
8.2 决策树模型 290
8.2.1 决策树模型数据分类 291
8.2.2 决策树模型数据回归 295
8.3 随机森林模型 302
8.3.1 随机森林模型数据分类 302
8.3.2 随机森林模型数据回归 306
8.4 AdaBoost模型 310
8.4.1 AdaBoost模型数据分类 310
8.4.2 AdaBoost模型数据回归 314
8.5 梯度提升树(GBDT) 317
8.5.1 GBDT模型数据分类 317
8.5.2 GBDT模型数据回归 319
8.6 本章小结 321
第9章 贝叶斯算法和K-近邻算法 322
9.1 模型简介 322
9.2 贝叶斯分类算法 325
9.2.1 文本数据准备与可视化 325
9.2.2 朴素贝叶斯文本分类 327
9.3 贝叶斯网络数据分类 334
9.3.1 自定义贝叶斯网络结构 334
9.3.2 搜索所有网络结构 336
9.3.3 启发式搜索网络结构 339
9.4 K-近邻算法 340
9.4.1 K-近邻数据分类 340
9.4.2 K-近邻数据回归 353
9.5 本章小节 357
第10章 支持向量机和人工神经网络 358
10.1 模型简介 358
10.2 支持向量机模型 362
10.2.1 支持向量机数据分类 363
10.2.2 支持向量机数据回归 369
10.3 全连接神经网络模型 374
10.3.1 单隐藏层全连接神经网络数据分类 375
10.3.2 多隐藏层全连接神经网络数据分类 379
10.3.3 全连接神经网络数据回归 382
10.4 本章小结 387
第11章 关联规则与文本挖掘 388
11.1 模型简介 388
11.1.1 关联规则 388
11.1.2 文本挖掘 390
11.2 数据关联规则挖掘 392
11.2.1 FPGrowth关联规则挖掘 393
11.2.2 Apriori关联规则挖掘 396
11.3 文本数据预处理 403
11.3.1 英文文本预处理 403
11.3.2 《三国演义》文本预处理 406
11.4 文本聚类分析 410
11.4.1 文本数据特征获取 410
11.4.2 常用的聚类算法 412
11.4.3 LDA主题模型 416
11.5 《三国演义》人物关系分析 422
11.5.1 人物重要性时序分析 422
11.5.2 人物关系可视化分析 425
11.6 本章小节 429
第12章 深度学习入门 430
12.1 深度学习介绍 431
12.1.1 卷积和池化 431
12.1.2 卷积神经网络 432
12.1.3 循环神经网络 432
12.1.4 自编码网络 433
12.2 PyTorch入门 434
12.2.1 张量的使用 434
12.2.2 常用的层 438
12.3 卷积神经网络识别草书 441
12.3.1 草书数据预处理与可视化 441
12.3.2 ResNet18网络识别草书 446
12.4 循环神经网络新闻分类 452
12.4.1 数据准备 452
12.4.2 LSTM网络文本分类 454
12.5 自编码网络重构图像 460
12.5.1 数据准备 461
12.5.2 自编码网络重构手写数字 462
12.6 本章小结 467
参考文献 468