描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302626114
清晰解释Python运行代码,深入浅出讲解机器学习原理,精选商业建模实践案例,演绎常用机器学习算法,精准解读运行结果。
数字化转型背景下,Python作为一门简单、易学、速度快、免费、开源的主流编程语言,广泛应用于大数据处理、人工智能、云计算等各个领域,是众多高等院校学生的必修基础课程,也是堪与Office办公软件应用比肩的职场人士的必备技能。同时随着数据存储、数据处理等大数据技术的快速进步,机器学习的各种算法在各行各业得以广泛应用,同样成为高校师生、职场人士迎接数字化浪潮、与时俱进提升专业技能的必修课程。本书将“Python课程学习”与“机器学习课程学习”有机结合,推动数字化人才的培养,提升人才的实践应用能力。 全书内容共17章。第1、2章介绍Python的入门知识和进阶知识;第3章介绍机器学习的概念及各种术语及评价标准;第4~10章介绍相对简单的监督式学习方法,包括线性回归算法、二元Logistic回归算法、多元Logistic回归算法、判别分析算法、朴素贝叶斯算法、高维数据惩罚回归算法、K近邻算法;第11、12章介绍主成分分析算法、聚类分析算法两种非监督式学习算法;第13~15章介绍相对复杂的监督式学习算法,包括决策树算法和随机森林算法、提升法两种集成学习算法;第16、17章介绍支持向量机算法、神经网络算法两种高级监督式学习算法。 本书可以作为经济学、管理学、统计学、金融学、社会学、医学、电子商务等相关专业的学生学习Python或机器学习应用的专业教材、参考书;也可以作为企事业单位数字化人才培养的教科书、工具书,还可以作为职场人士自学掌握Python机器学习应用、提升数据挖掘分析能力进而提高工作效能和改善绩效水平的工具书。
第1章 Python入门知识 1
1.1 Python简介与本书的教学理念 1
1.2 Python的下载与安装 2
1.2.1 下载Python(Anaconda平台) 2
1.2.2 安装Python(Anaconda平台) 4
1.2.3 Anaconda Prompt(Anaconda3) 6
1.2.4 Spyder(Anaconda3)的介绍及偏好设置 7
1.2.5 Spyder(Anaconda3)窗口介绍 10
1.3 Python注释、基本输入与输出 16
1.3.1 Python的注释 16
1.3.2 print函数 17
1.3.3 input函数 17
1.4 Python变量和数据类型 18
1.4.1 Python的保留字与标识符 18
1.4.2 Python的变量 19
1.4.3 Python的基本数据类型 20
1.4.4 Python的数据运算符 23
1.5 Python序列 25
1.5.1 索引(Indexing) 26
1.5.2 切片(Slicing) 26
1.5.3 相加(Adding) 27
1.5.4 相乘(Multiplying) 28
1.5.5 元素检查 28
1.5.6 与序列相关的内置函数 28
1.6 Python列表 30
1.6.1 列表的基本操作 30
1.6.2 列表元素的基本操作 32
1.6.3 列表推导式 33
1.7 Python元组 34
1.7.1 元组的基本操作 34
1.7.2 元组元素的基本操作 35
1.7.3 元组推导式 36
1.8 Python字典 37
1.8.1 字典的基本操作 37
1.8.2 字典元素的基本操作 39
1.8.3 字典推导式 40
1.9 Python集合 41
1.10 Python字符串 42
1.11 习题 46
第2章 Python进阶知识 48
2.1 Python流程控制语句 48
2.1.1 选择语句 48
2.1.2 循环语句 50
2.1.3 跳转语句 52
2.2 Python函数 53
2.2.1 函数的创建和调用 53
2.2.2 参数的相关概念与操作 53
2.2.3 变量的作用域 56
2.3 Python模块和包 58
2.3.1 模块的创建和导入 58
2.3.2 包的创建和使用 61
2.4 Python numpy模块中的数组 63
2.4.1 数组的创建 63
2.4.2 数组的计算 65
2.4.3 使用数组开展矩阵运算 66
2.4.4 数组的排序、索引和切片 66
2.5 Python pandas模块中的序列与数据框 67
2.5.1 序列的相关操作 67
2.5.2 数据框的相关操作 69
2.6 Python对象与类 74
2.6.1 类的定义 74
2.6.2 定义适用于类对象的方法 75
2.6.3 子类从父类继承 76
2.7 Python数据读取 76
2.7.1 读取文本文件(CSV或者TXT文件) 77
2.7.2 读取EXCEL数据 80
2.7.3 读取SPSS数据 81
2.7.4 读取Stata数据 82
2.8 Python数据检索 83
2.9 Python数据缺失值处理 84
2.9.1 查看数据集中的缺失值 84
2.9.2 填充数据集中的缺失值 86
2.9.3 删除数据集中的缺失值 89
2.10 Python数据重复值处理 91
2.10.1 查看数据集中的重复值 91
2.10.2 删除数据集中的重复值 92
2.11 Python数据行列处理 94
2.11.1 删除变量列、样本行 94
2.11.2 更改变量列名称、调整变量列顺序 95
2.11.3 改变列的数据格式 96
2.11.4 多列转换 96
2.11.5 数据百分比格式转换 97
2.12 习题 98
第3章 机器学习介绍 99
3.1 机器学习概述 99
3.2 机器学习术语 100
3.3 机器学习分类 101
3.4 误差、泛化、过拟合与欠拟合 102
3.5 偏差、方差与噪声 103
3.5.1 偏差 103
3.5.2 方差 103
3.5.3 噪声 103
3.5.4 误差与偏差、方差、噪声的关系 104
3.5.5 偏差与方差的权衡 104
3.6 性能量度 105
3.6.1 “回归问题监督式学习”的性能量度 105
3.6.2 “分类问题监督式学习”的性能量度 106
3.7 模型评估 111
3.7.1 验证集法 111
3.7.2 K折交叉验证 112
3.7.3 自助法 113
3.8 机器学习项目流程 114
3.9 习题 118
第4章 线性回归算法 119
4.1 线性回归算法的基本原理 119
4.1.1 线性回归算法的概念及数学解释 119
4.1.2 线性回归算法的优缺点 120
4.2 数据准备 121
4.2.1 导入分析所需要的模块和函数 121
4.2.2 数据读取及观察 122
4.3 描述性分析 123
4.4 图形绘制 125
4.4.1 直方图 125
4.4.2 密度图 127
4.4.3 箱图 128
4.4.4 小提琴图 128
4.4.5 正态QQ图 129
4.4.6 散点图和线图 130
4.4.7 热力图 131
4.4.8 回归拟合图 132
4.4.9 联合分布图 132
4.5 正态性检验 133
4.5.1 Shapiro-Wilk test检验 133
4.5.2 kstest检验 134
4.6 相关性分析 135
4.7 使用statsmodels进行线性回归 137
4.7.1 使用 smf 进行线性回归 137
4.7.2 多重共线性检验 139
4.7.3 解决多重共线性问题 140
4.7.4 绘制拟合回归平面 141
4.8 使用sklearn进行线性回归 142
4.8.1 使用验证集法进行模型拟合 142
4.8.2 更换随机数种子,使用验证集法进行模型拟合 143
4.8.3 使用10折交叉验证法进行模型拟合 143
4.8.4 使用10折重复10次交叉验证法进行模型拟合 144
4.8.5 使用留一交叉验证法进行模型拟合 144
4.9 习题 145
第5章 二元Logistic回归算法 147
5.1 二元Logistic回归算法的基本原理 147
5.2 数据准备 148
5.2.1 导入分析所需要的模块和函数 149
5.2.2 数据读取及观察 150
5.3 描述性分析 152
5.4 数据处理 154
5.4.1 区分分类特征和连续特征并进行处理 154
5.4.2 将样本全集分割为训练样本和测试样本 154
5.5 建立二元Logistic回归算法模型 155
5.5.1 使用statsmodels建立二元Logistic回归算法模型 155
5.5.2 使用sklearn建立二元Logistic回归算法模型 159
5.5.3 特征变量重要性水平分析 162
5.5.4 绘制ROC曲线,计算AUC值 165
5.5.5 计算科恩kappa得分 166
5.6 习题 167
第6章 多元Logistic回归算法 169
6.1 多元Logistic回归算法的基本原理 169
6.2 数据准备 170
6.2.1 导入分析所需要的模块和函数 170
6.2.2 数据读取及观察 171
6.3 描述性分析及图形绘制 172
6.3.1 描述性分析 172
6.3.2 绘制直方图 173
6.3.3 绘制箱图 173
6.4 数据处理 175
6.4.1 区分分类特征和连续特征并进行处理 175
6.4.2 将样本全集分割为训练样本和测试样本 175
6.5 建立多元Logistic回归算法模型 175
6.5.1 模型估计 176
6.5.2 模型性能分析 176
6.6 习题 179
第7章 判别分析算法 180
7.1 判别分析算法的基本原理 180
7.1.1 线性判别分析的基本原理 180
7.1.2 线性判别分析的算法过程 181
7.1.3 二次判别分析的基本原理 182
7.2 数据准备 183
7.2.1 导入分析所需要的模块和函数 184
7.2.2 线性判别分析降维优势展示 185
7.2.3 数据读取及观察 187
7.3 特征变量相关性分析 188
7.4 使用样本全集开展线性判别分析 189
7.4.1 模型估计及性能分析 189
7.4.2 运用两个特征变量绘制LDA决策边界图 192
7.5 使用分割样本开展线性判别分析 193
7.6 使用分割样本开展二次判别分析 195
7.6.1 模型估计 195
7.6.2 运用两个特征变量绘制QDA决策边界图 196
7.7 习题 197
第8章 朴素贝叶斯算法 198
8.1 朴素贝叶斯算法的基本原理 198
8.1.1 贝叶斯方法的基本原理 198
8.1.2 贝叶斯定理 199
8.1.3 朴素贝叶斯算法的基本原理 201
8.1.4 拉普拉斯修正 202
8.1.5 朴素贝叶斯算法分类及适用条件 202
8.2 数据准备 203
8.2.1 案例数据说明 203
8.2.2 导入分析所需要的模块和函数 205
8.3 高斯朴素贝叶斯算法示例 205
8.3.1 数据读取及观察 206
8.3.2 将样本全集分割为训练样本和测试样本 207
8.3.3 高斯朴素贝叶斯算法拟合 207
8.3.4 绘制ROC曲线 207
8.3.5 运用两个特征变量绘制高斯朴素贝叶斯决策边界图 208
8.4 多项式、补集、二项式朴素贝叶斯算法示例 208
8.4.1 数据读取及观察 209
8.4.2 将样本全集分割为训练样本和测试样本 209
8.4.3 多项式、补集、二项式朴素贝叶斯算法拟合 210
8.4.4 寻求二项式朴素贝叶斯算法拟合的最优参数 210
8.4.5 最优二项式朴素贝叶斯算法模型性能评价 213
8.5 习题 214
第9章 高维数据惩罚回归算法 216
9.1 高维数据惩罚回归算法简介 216
9.1.1 高维数据惩罚回归算法的基本原理 216
9.1.2 岭回归 217
9.1.3 Lasso回归 217
9.1.4 弹性网回归 218
9.1.5 惩罚回归算法的选择 218
9.2 数据准备 218
9.2.1 导入分析所需要的模块和函数 220
9.2.2 数据读取及观察 220
9.3 变量设置及数据处理 221
9.4 岭回归算法 222
9.4.1 使用默认惩罚系数构建岭回归模型 222
9.4.2 使用留一交叉验证法寻求最优惩罚系数构建岭回归模型 223
9.4.3 使用K折交叉验证法寻求最优惩罚系数构建岭回归模型 224
9.4.4 划分训练样本和测试样本下的最优岭回归模型 225
9.5 Lasso回归算法 226
9.5.1 使用随机选取惩罚系数构建岭回归模型 226
9.5.2 使用留一交叉验证法寻求最优惩罚系数构建Lasso回归模型 227
9.5.3 使用K折交叉验证法寻求最优惩罚系数构建Lasso回归模型 227
9.5.4 划分训练样本和测试样本下的最优Lasso回归模型 228
9.6 弹性网回归算法 229
9.6.1 使用随机选取惩罚系数构建弹性网回归模型 229
9.6.2 使用K折交叉验证法寻求最优惩罚系数构建弹性网回归模型 230
9.6.3 划分训练样本和测试样本下的最优弹性网回归模型 231
9.7 习题 231
第10章 K近邻算法 233
10.1 K近邻算法简介 233
10.1.1 K近邻算法的基本原理 233
10.1.2 K值的选择 235
10.1.3 K近邻算法的变种 235
10.2 数据准备 236
10.2.1 案例数据说明 236
10.2.2 导入分析所需要的模块和函数 236
10.3 回归问题K近邻算法示例 237
10.3.1 变量设置及数据处理 237
10.3.2 构建K近邻回归算法模型 237
10.3.3 如何选择最优的K值 238
10.3.4 最优模型拟合效果图形展示 239
10.4 分类问题K近邻算法示例 240
10.4.1 变量设置及数据处理 240
10.4.2 构建K近邻分类算法模型 241
10.4.3 如何选择最优的K值 242
10.4.4 最优模型拟合效果图形展示 243
10.4.5 绘制K近邻分类算法ROC曲线 243
10.4.6 运用两个特征变量绘制K近邻算法决策边界图 244
10.4.7 普通KNN算法、带权重KNN、指定半径KNN三种算法的对比 245
10.5 习题 246
第11章 主成分分析算法 248
11.1 主成分分析算法简介 248
11.1.1 主成分分析算法的基本原理 248
11.1.2 主成分分析算法的数学概念 249
11.1.3 主成分的特征值 250
11.1.4 样本的主成分得分 250
11.1.5 主成分载荷 251
11.2 数据准备 252
11.2.1 案例数据说明 252
11.2.2 导入分析所需要的模块和函数 253
11.2.3 变量设置及数据处理 253
11.2.4 特征变量相关性分析 254
11.3 主成分分析算法示例 256
11.3.1 主成分提取及特征值、方差贡献率计算 256
11.3.2 绘制碎石图观察各主成分特征值 256
11.3.3 绘制碎石图观察各主成分方差贡献率 257
11.3.4 绘制碎石图观察主成分累积方差贡献率 258
11.3.5 计算样本的主成分得分 258
11.3.6 绘制二维图形展示样本在前两个主成分上的得分 259
11.3.7 绘制三维图形展示样本在前三个主成分上的得分 260
11.3.8 输出特征向量矩阵,观察主成分载荷 260
11.4 习题 261
第12章 聚类分析算法 262
12.1 聚类分析算法简介 262
12.1.1 聚类分析算法的基本原理 262
12.1.2 划分聚类分析 263
12.1.3 层次聚类分析 263
12.1.4 样本距离的测度 265
12.2 数据准备 267
12.2.1 案例数据说明 268
12.2.2 导入分析所需要的模块和函数 268
12.2.3 变量设置及数据处理 269
12.2.4 特征变量相关性分析 270
12.3 划分聚类分析算法示例 271
12.3.1 使用K均值聚类分析方法对样本进行聚类(K=2) 271
12.3.2 使用K均值聚类分析方法对样本进行聚类(K=3) 271
12.3.3 使用K均值聚类分析方法对样本进行聚类(K=4) 272
12.4 层次聚类分析算法示例 273
12.4.1 最短联结法聚类分析 273
12.4.2 最长联结法聚类分析 274
12.4.3 平均联结法聚类分析 275
12.4.4 ward联结法聚类分析 277
12.4.5 重心联结法聚类分析 278
12.5 习题 279
第13章 决策树算法 280
13.1 决策树算法简介 280
13.1.1 决策树算法的概念与原理 280
13.1.2 特征变量选择及其临界值确定方法 282
13.1.3 决策树的剪枝 284
13.1.4 包含剪枝决策树的损失函数 284
13.1.5 变量重要性 285
13.2 数据准备 285
13.2.1 案例数据说明 285
13.2.2 导入分析所需要的模块和函数 287
13.3 分类问题决策树算法示例 287
13.3.1 变量设置及数据处理 287
13.3.2 未考虑成本-复杂度剪枝的决策树分类算法模型 288
13.3.3 考虑成本-复杂度剪枝的决策树分类算法模型 291
13.3.4 绘制图形观察叶节点总不纯度随alpha值的变化情况 291
13.3.5 绘制图形观察节点数和树的深度随alpha值的变化情况 292
13.3.6 绘制图形观察训练样本和测试样本的预测准确率随alpha值的变化情况 293
13.3.7 通过10折交叉验证法寻求最优alpha值 294
13.3.8 决策树特征变量重要性水平分析 295
13.3.9 绘制ROC曲线 296
13.3.10 运用两个特征变量绘制决策树算法决策边界图 297
13.4 回归问题决策树算法示例 298
13.4.1 变量设置及数据处理 298
13.4.2 未考虑成本-复杂度剪枝的决策树回归算法模型 299
13.4.3 考虑成本-复杂度剪枝的决策树回归算法模型 300
13.4.4 绘制图形观察叶节点总均方误差随alpha值的变化情况 300
13.4.5 绘制图形观察节点数和树的深度随alpha值的变化情况 301
13.4.6 绘制图形观察训练样本和测试样本的拟合优度随alpha值的变化情况 302
13.4.7 通过10折交叉验证法寻求最优alpha值并开展特征变量重要性水平分析 302
13.4.8 最优模型拟合效果图形展示 304
13.4.9 构建线性回归算法模型进行对比 305
13.5 习题 305
第14章 随机森林算法 307
14.1 随机森林算法的基本原理 307
14.1.1 集成学习的概念与分类 307
14.1.2 装袋法的概念与原理 308
14.1.3 随机森林算法的概念与原理 309
14.1.4 随机森林算法特征变量重要性量度 309
14.1.5 部分依赖图与个体条件期望图 309
14.2 数据准备 310
14.2.1 案例数据说明 310
14.2.2 导入分析所需要的模块和函数 310
14.3 分类问题随机森林算法示例 311
14.3.1 变量设置及数据处理 311
14.3.2 二元Logistic回归、单棵分类决策树算法观察 311
14.3.3 装袋法分类算法 312
14.3.4 随机森林分类算法 313
14.3.5 寻求max_features最优参数 313
14.3.6 寻求n_estimators最优参数 314
14.3.7 随机森林特征变量重要性水平分析 316
14.3.8 绘制部分依赖图与个体条件期望图 316
14.3.9 模型性能评价 318
14.3.10 绘制ROC曲线 319
14.3.11 运用两个特征变量绘制随机森林算法决策边界图 320
14.4 回归问题随机森林算法示例 320
14.4.1 变量设置及数据处理 320
14.4.2 线性回归、单棵回归决策树算法观察 321
14.4.3 装袋法回归算法 321
14.4.4 随机森林回归算法 322
14.4.5 寻求max_features最优参数 322
14.4.6 寻求n_estimators最优参数 323
14.4.7 随机森林特征变量重要性水平分析 325
14.4.8 绘制部分依赖图与个体条件期望图 325
14.4.9 最优模型拟合效果图形展示 326
14.5 习题 327
第15章 提升法 329
15.1 提升法的基本原理 329
15.1.1 提升法的概念与原理 329
15.1.2 AdaBoost(自适应提升法) 330
15.1.3 梯度提升法(Gradient Boosting Machine) 331
15.1.4 回归问题损失函数 332
15.1.5 分类问题损失函数 336
15.1.6 随机梯度提升法 337
15.1.7 XGBoost算法 338
15.2 数据准备 338
15.2.1 案例数据说明 338
15.2.2 导入分析所需要的模块和函数 340
15.3 回归提升法示例 340
15.3.1 变量设置及数据处理 340
15.3.2 线性回归算法观察 341
15.3.3 回归提升法(默认参数) 341
15.3.4 使用随机搜索寻求最优参数 341
15.3.5 绘制图形观察模型均方误差随弱学习器数量变化的情况 342
15.3.6 绘制图形观察模型拟合优度随弱学习器数量变化的情况 343
15.3.7 回归问题提升法特征变量重要性水平分析 344
15.3.8 绘制部分依赖图与个体条件期望图 345
15.3.9 最优模型拟合效果图形展示 346
15.3.10 XGBoost回归提升法 347
15.4 二分类提升法示例 349
15.4.1 变量设置及数据处理 349
15.4.2 AdaBoost算法 349
15.4.3 二分类提升法(默认参数) 349
15.4.4 使用随机搜索寻求最优参数 350
15.4.5 二分类问题提升法特征变量重要性水平分析 350
15.4.6 绘制部分依赖图与个体条件期望图 351
15.4.7 模型性能评价 352
15.4.8 绘制ROC曲线 354
15.4.9 运用两个特征变量绘制二分类提升法决策边界图 354
15.4.10 XGBoost二分类提升法 355
15.5 多分类提升法示例 356
15.5.1 变量设置及数据处理 356
15.5.2 多元Logistic回归算法观察 357
15.5.3 多分类提升法(默认参数) 357
15.5.4 使用随机搜索寻求最优参数 357
15.5.5 多分类问题提升法特征变量重要性水平分析 358
15.5.6 绘制部分依赖图与个体条件期望图 359
15.5.7 模型性能评价 360
15.5.8 XGBoost多分类提升法 362
15.6 习题 362
第16章 支持向量机算法 364
16.1 支持向量机算法的基本原理 364
16.1.1 线性可分 364
16.1.2 硬间隔分类器的概念与原理解释 365
16.1.3 硬间隔分类器的求解步骤 367
16.1.4 软间隔分类器的概念与原理解释 368
16.1.5 软间隔分类器的求解步骤 369
16.1.6 核函数 370
16.1.7 多分类问题支持向量机 372
16.1.8 支持向量回归 373
16.2 数据准备 375
16.2.1 案例数据说明 375
16.2.2 导入分析所需要的模块和函数 375
16.3 回归支持向量机算法示例 376
16.3.1 变量设置及数据处理 376
16.3.2 回归支持向量机算法(默认参数) 376
16.3.3 通过10折交叉验证寻求最优参数 377
16.3.4 最优模型拟合效果图形展示 378
16.4 二分类支持向量机算法示例 379
16.4.1 变量设置及数据处理 379
16.4.2 二分类支持向量机算法(默认参数) 379
16.4.3 通过10折交叉验证寻求最优参数 380
16.4.4 模型性能评价 381
16.4.5 绘制ROC曲线 382
16.4.6 运用两个特征变量绘制二分类支持向量机算法决策边界图 383
16.5 多分类支持向量机算法示例 386
16.5.1 变量设置及数据处理 386
16.5.2 多分类支持向量机算法(一对一) 387
16.5.3 多分类支持向量机算法(默认参数) 388
16.5.4 通过10折交叉验证寻求最优参数 389
16.5.5 模型性能评价 390
16.6 习题 391
第17章 神经网络算法 393
17.1 神经网络算法的基本原理 393
17.1.1 神经网络算法的基本思想 393
17.1.2 感知机 395
17.1.3 多层感知机 398
17.1.4 神经元激活函数 400
17.1.5 误差反向传播算法(BP算法) 405
17.1.6 万能近似定理及多隐藏层优势 408
17.1.7 BP算法过拟合问题的解决 408
17.2 数据准备 410
17.2.1 案例数据说明 410
17.2.2 导入分析所需要的模块和函数 411
17.3 回归神经网络算法示例 411
17.3.1 变量设置及数据处理 411
17.3.2 单隐藏层的多层感知机算法 412
17.3.3 神经网络特征变量重要性水平分析 413
17.3.4 绘制部分依赖图与个体条件期望图 414
17.3.5 拟合优度随神经元个数变化的可视化展示 415
17.3.6 通过K折交叉验证寻求单隐藏层最优神经元个数 416
17.3.7 双隐藏层的多层感知机算法 417
17.3.8 最优模型拟合效果图形展示 417
17.4 二分类神经网络算法示例 418
17.4.1 变量设置及数据处理 418
17.4.2 单隐藏层二分类问题神经网络算法 419
17.4.3 双隐藏层二分类问题神经网络算法 420
17.4.4 早停策略减少过拟合问题 420
17.4.5 正则化(权重衰减)策略减少过拟合问题 420
17.4.6 模型性能评价 421
17.4.7 绘制ROC曲线 422
17.4.8 运用两个特征变量绘制二分类神经网络算法决策边界图 423
17.5 多分类神经网络算法示例 423
17.5.1 变量设置及数据处理 424
17.5.2 单隐藏层多分类问题神经网络算法 424
17.5.3 双隐藏层多分类问题神经网络算法 424
17.5.4 模型性能评价 425
17.5.5 运用两个特征变量绘制多分类神经网络算法决策边界图 426
17.6 习题 427
Python作为一门简单、易学、易读、易维护、用途广泛、速度快、免费、开源的主流编程语言,广泛应用于Web开发、大数据处理、人工智能、云计算、爬虫、游戏开发、自动化运维开发等各个领域,是众多高等院校学生的必修基础课程,也是堪与Office办公软件应用比肩的职场人士的必备技能。但不少学生或职场人士总面临这样一种窘境:数字化转型大背景、大趋势下,感觉非常有必要学习Python等分析工具,但在真正通过一本书学习Python的各种语言规则时,往往体验不到学习知识的乐趣,翻看个别章节后即将其束之高阁。造成这种情况的根本原因在于没有结合本职研究或工作需求、没有以解决问题为目标和导向开展学习。对很多读者来说,学以致用的一个非常好的出口就是使用Python进行机器学习。数字化转型浪潮下,机器学习的各种算法早已不再局限于概念普及和理念推广层面,而是真真切切地广泛应用在各类企事业单位的各个领域,从客户分层管理到目标客户选择,从客户满意度分析到客户流失预警,从信用风险防控到精准推荐,各种算法的应用对于企业全要素生产率的边际提升起到了举足轻重的作用。基于上述原因,笔者致力于编写一本Python机器学习原理与算法实现的教学参考书,将Python与机器学习应用相结合,通过“深入浅出讲解机器学习原理—贴近实际精选操作案例—详细演示Python操作及代码含义—准确完整解读分析结果”的一站式服务,旨在写出让读者“能看得懂、学得进去、真用得上”的机器学习图书,献给新时代的莘莘学子和职场奋斗者。
本书内容
第1章为Python入门知识,内容包括Python简介与本书教学理念,Python下载与安装,Python注释、基本输出与输入,Python变量和数据类型、Python序列、Python列表、Python元组、Python字典、Python集合、Python字符串。
第2章为Python进阶知识,内容包括Python流程控制语句、Python函数、Python模块和包、Python numpy模块数组、Python pandas模块序列与数据框、Python对象与类、Python数据读取、Python数据检索、Python数据缺失值处理、Python数据重复值处理、Python数据行列处理。
第3章为机器学习介绍,内容包括机器学习概述,机器学习术语,机器学习分类,机器学习中误差、泛化、过拟合与欠拟合、偏差、方差与噪声等重要概念,以及常用的机器学习性能量度和模型评估方法,机器学习的项目流程。
第4章为线性回归算法,主要介绍线性回归算法的基本原理及Python实现,还介绍了描述性分析、图形绘制、正态性检验、相关性分析等经典统计分析方法在Python中的实现。
第5章为二元Logistic回归算法,主要介绍二元Logistic回归算法的基本原理,并结合具体实例讲解该算法在Python中的实现与应用。
第6章为多元Logistic回归算法,主要介绍多元Logistic回归算法的基本原理,并结合具体实例讲解该算法在Python中的实现与应用。
第7章为判别分析算法,内容包括线性判别分析和二次判别分析两种判别分析算法的基本原理,并结合具体实例讲解这两个算法在Python中的实现与应用。
第8章为朴素贝叶斯算法,讲解贝叶斯算法的基本原理、贝叶斯定理、朴素贝叶斯算法的基本原理、拉普拉斯修正、朴素贝叶斯算法分类及适用条件,并结合具体实例讲解这些算法在Python中的实现与应用。
第9章为高维数据惩罚回归算法,主要讲解高维数据惩罚回归算法的基本原理、岭回归、Lasso回归、弹性网回归、惩罚回归算法的选择,并结合具体实例讲解这些算法在Python中的实现与应用。
第10章为K近邻算法,主要讲解K近邻算法的基本原理,并结合具体实例讲解该算法解决分类问题和回归问题的Python实现与应用。
第11章为主成分分析算法,主要讲解主成分分析算法的基本原理、数学概念、主成分特征值、样本的主成分得分、主成分载荷等内容,并结合具体实例讲解该算法在Python中的实现与应用。
第12章为聚类分析算法,主要讲解聚类分析算法的基本原理、划分聚类分析、层次聚类分析、样本距离的测度等内容,并结合具体实例讲解这些算法在Python中的实现与应用。
第13章为决策树算法,主要讲解决策树算法的概念与原理、特征变量选择及其临界值确定方法、决策树的剪枝、包含剪枝决策树的损失函数、变量重要性等内容,并结合具体实例讲解这些算法解决分类问题和回归问题的Python实现与应用。
第14章为随机森林算法,主要讲解集成学习的概念与分类、装袋法的概念与原理、随机森林算法的概念与原理、随机森林算法特征变量重要性量度、部分依赖图与个体条件期望图等内容,并结合具体实例讲解这些算法解决分类问题和回归问题的Python实现与应用。
第15章为提升法,主要讲解提升法的概念与原理、AdaBoost、梯度提升法、回归问题损失函数、分类问题损失函数、随机梯度提升法、XGBoost算法等内容,并结合具体实例讲解这些算法解决分类问题和回归问题的Python实现与应用。
第16章为支持向量机算法,主要讲解线性可分,硬间隔分类器的概念、原理解释与求解步骤,软间隔分类器的概念、原理解释与求解步骤,核函数,多分类问题支持向量机,支持向量回归等内容,并结合具体实例讲解这些算法解决分类问题和回归问题的Python实现与应用。
第17章为神经网络算法,主要讲解神经网络算法的基本思想、感知机、多层感知机、神经元激活函数、误差反向传播算法、万能近似定理及多隐藏层优势、BP算法过拟合问题的解决等内容,并结合具体实例讲解这些算法解决分类问题和回归问题的Python实现与应用。
本书特色
通过“入门—进阶—应用”的方式循序渐进地讲解Python。前两章分别讲解Python入门知识和Python进阶知识,使大家能够基本掌握Python的基础知识与进阶应用,后续章节在讲解各类机器学习算法时,逐一详解用到的各种Python代码,针对每行代码均有恰当注释,使读者能够真正理解各种代码的含义,从而可以灵活运用于自身的科研或应用研究。
通过“复杂算法模型简单化、抽样理论概念具象化”深入浅出的方式讲解机器学习。本书尽可能用图像化、案例化的方式剖析各种算法的基本原理、适用条件,使读者真的能够看得明白、学得进去,避免在复杂的数学公式推导面前耗尽了所有的学习热情,苦技能虽好却不能为己所用。同时也做到了不失专业深度,使读者真正能够掌握各种算法的精髓,能根据自身需要选取算法、优化代码、科学调参。
实现了Python与机器学习应用的深度融合。本书以学以致用为桥梁实现了Python与机器学习之间的高效联动协同,使读者通过本书的学习能够同时掌握Python语言、机器学习这两大专业利器,达到“一箭双雕”的学习效果,有效提升自己的科研与应用水平。
本书提供的PPT与源代码、思维导图、视频教学可通过扫描下面二维码获取:
如果下载有问题,请发送电子邮件至[email protected],邮件主题为“Python机器学习原理与算法实现代码”。
本书在写作过程中也吸收了前人的研究成果,第二作者张甜博士也曾于2020年1月师从山东大学陈强教授系统学习了机器学习课程,在此一并表示感谢!
由于笔者水平有限,书中难免存在疏漏之处,诚请各位同仁和广大读者批评指正,并提出宝贵的意见。
笔 者
2023年1月
评论
还没有评论。