书籍详情
Python预测分析实战
作者:[美] 阿尔瓦罗·富恩特斯(Alvaro Fuentes) 著,高蓉,李茂 译
出版社:人民邮电出版社
出版时间:2022-08-01
ISBN:9787115565709
定价:¥79.80
购买这本书可以去
内容简介
本书先介绍预测分析的重要概念和原则,然后给出一系列的代码示例和算法讲解,引导读者了解完整的预测分析流程,进而用Python工具构建高性能的预测分析解决方案。全书所涵盖的内容包括预测分析过程、理解问题和准备数据、理解数据集—探索性数据分析、基于机器学习的数值预测、基于机器学习的类别预测、调整模型和提高性能、基于Dash的模型实现等。本书适合想要学习预测建模并对用Python工具实现预测分析解决方案感兴趣的数据分析师、数据科学家、数据工程师和Python开发人员阅读,也适合对预测分析感兴趣的读者参考。
作者简介
阿尔瓦罗.富恩特斯(Alvaro Fuentes)是一位资深数据分析师,在分析行业的从业经验超过12年,拥有应用数学的硕士学位和数量经济学的学士学位。他在银行工作过多年,担任经济分析师。他后来创建了Quant公司,主要提供与数据科学相关的咨询和培训服务,并为许多项目做过顾问,涉及商业、教育、医药和大众传媒等领域。他是一名Python的深度爱好者,有5年的Python工作经验,从事过分析数据、构建模型、生成报告、进行预测以及构建从数据到智能决策的智能转换交互式应用等工作。
目录
第 1章 预测分析过程 1
1.1 技术要求 1
1.2 什么是预测分析 2
1.3 回顾预测分析的重要概念 3
1.4 预测分析过程 5
1.4.1 理解问题和定义问题 6
1.4.2 收集数据和准备数据 6
1.4.3 使用EDA挖掘数据信息 7
1.4.4 构建模型 8
1.4.5 评价模型 8
1.4.6 沟通以及/或者部署 8
1.4.7 CRISP-DM和其他方法 9
1.5 Python数据科学栈概述 10
1.5.1 Anaconda 10
1.5.2 Jupyter Notebook 11
1.5.3 NumPy 13
1.5.4 SciPy 18
1.5.5 pandas 19
1.5.6 Matplotlib 19
1.5.7 Seaborn 23
1.5.8 scikit-learn 24
1.5.9 TensorFlow和Keras 24
1.5.10 Dash 24
1.6 小结 25
扩展阅读 25
第 2章 理解问题和准备数据 26
2.1 技术要求 26
2.2 理解业务问题并提出解决方案 27
2.2.1 背景决定一切 27
2.2.2 定义预测内容 28
2.2.3 明确项目需要的数据 28
2.2.4 考虑数据访问 28
2.2.5 提出解决方案 29
2.3 实践项目—钻石的价格 30
2.3.1 钻石的价格—理解问题和定义问题 30
2.3.2 更多背景知识 32
2.3.3 钻石的价格—提出解决方案 32
2.3.4 钻石的价格—收集数据和准备数据 33
2.4 实践项目—信用卡违约 38
2.4.1 信用卡违约—理解问题和定义问题 38
2.4.2 信用卡违约—提出解决方案 39
2.4.3 信用卡违约—收集数据和准备数据 41
2.5 小结 51
扩展阅读 52
第3章 理解数据集—探索性数据分析 53
3.1 技术要求 54
3.2 什么是EDA 54
3.3 一元EDA 56
3.3.1 数值特征的一元EDA 57
3.3.2 分类特征的一元EDA 61
3.4 二元EDA 63
3.4.1 两个数值特征 64
3.4.2 两个分类特征 73
3.4.3 一个数值特征和一个分类特征 77
3.5 图形化的多元EDA 81
3.6 小结 86
扩展阅读 86
第4章 基于机器学习的数值预测 87
4.1 技术要求 88
4.2 机器学习简介 88
4.2.1 监督学习中的任务 89
4.2.2 创建第 一个机器学习模型 90
4.2.3 机器学习的目标—泛化 92
4.2.4 过拟合 94
4.2.5 评价函数和最优化 95
4.3 建模之前的实际考虑 95
4.3.1 scikit-learn简介 96
4.3.2 进一步的特征变换 96
4.4 多元线性回归 103
4.5 LASSO回归 106
4.6 kNN 107
4.7 训练与测试误差 109
4.8 小结 113
扩展阅读 113
第5章 基于机器学习的分类预测 115
5.1 技术要求 116
5.2 分类任务 116
5.3 信用卡违约数据集 117
5.4 逻辑回归 120
5.4.1 一个简单的逻辑回归模型 120
5.4.2 完整的逻辑回归模型 122
5.5 分类树 124
5.5.1 分类树的工作原理 126
5.5.2 分类树的优点和缺点 130
5.5.3 训练更大的分类树 130
5.6 随机森林 131
5.7 训练误差对测试误差 133
5.8 多元分类 135
5.9 朴素贝叶斯分类器 136
5.9.1 条件概率 136
5.9.2 贝叶斯定理 138
5.9.3 回到分类问题 140
5.9.4 高斯朴素贝叶斯 141
5.10 小结 143
扩展阅读 143
第6章 面向预测分析的神经网络简介 144
6.1 技术要求 144
6.2 引入神经网络模型 145
6.2.1 深度学习 145
6.2.2 MLP的结构—神经网络模型的组成部分 146
6.2.3 MLP的学习原理 148
6.3 TensorFlow和Keras简介 149
6.3.1 TensorFlow 149
6.3.2 Keras—以人为本的深度学习 150
6.4 基于神经网络的回归 151
6.4.1 构建预测钻石价格的MLP 152
6.4.2 训练MLP 154
6.4.3 基于神经网络的预测 156
6.5 基于神经网络的分类 157
6.5.1 构建预测信用卡违约的MLP 158
6.5.2 评价预测 160
6.6 训练神经网络模型的“黑暗艺术” 161
6.6.1 决策太多,时间太少 162
6.6.2 神经网络的正则化 163
6.6.3 训练神经网络模型的实用技巧 172
6.7 小结 173
扩展阅读 173
第7章 模型评价 174
7.1 技术要求 175
7.2 回归模型的评价 175
7.2.1 评价回归模型的指标 176
7.2.2 评价回归模型的可视化方法 180
7.3 评价分类模型 183
7.3.1 混淆矩阵及相关指标 184
7.3.2 评价分类模型的可视化方法 187
7.4 k折交叉验证 195
7.5 小结 197
扩展阅读 197
第8章 调整模型和提高性能 198
8.1 技术要求 198
8.2 超参数调整 199
8.2.1 优化单个超参数 200
8.2.2 优化多个超参数 205
8.3 提高性能 210
8.3.1 改进钻石价格预测 210
8.3.2 是技术问题,更是业务问题 214
8.4 小结 215
第9章 基于Dash的模型实现 216
9.1 技术要求 216
9.2 模型沟通和/或部署阶段 217
9.2.1 使用技术报告 217
9.2.2 说明现有应用程序的功能 218
9.2.3 分析应用程序 219
9.3 Dash简介 220
9.3.1 什么是Dash 220
9.3.2 Plotly 220
9.3.3 安装 221
9.3.4 应用程序布局 221
9.3.5 构建基本的静态App 222
9.3.6 构建基本的交互式App 224
9.4 将预测模型实现为网络应用程序 228
9.4.1 生成预测模型对象 229
9.4.2 构建网络应用程序 231
9.5 小结 237
扩展阅读 238
1.1 技术要求 1
1.2 什么是预测分析 2
1.3 回顾预测分析的重要概念 3
1.4 预测分析过程 5
1.4.1 理解问题和定义问题 6
1.4.2 收集数据和准备数据 6
1.4.3 使用EDA挖掘数据信息 7
1.4.4 构建模型 8
1.4.5 评价模型 8
1.4.6 沟通以及/或者部署 8
1.4.7 CRISP-DM和其他方法 9
1.5 Python数据科学栈概述 10
1.5.1 Anaconda 10
1.5.2 Jupyter Notebook 11
1.5.3 NumPy 13
1.5.4 SciPy 18
1.5.5 pandas 19
1.5.6 Matplotlib 19
1.5.7 Seaborn 23
1.5.8 scikit-learn 24
1.5.9 TensorFlow和Keras 24
1.5.10 Dash 24
1.6 小结 25
扩展阅读 25
第 2章 理解问题和准备数据 26
2.1 技术要求 26
2.2 理解业务问题并提出解决方案 27
2.2.1 背景决定一切 27
2.2.2 定义预测内容 28
2.2.3 明确项目需要的数据 28
2.2.4 考虑数据访问 28
2.2.5 提出解决方案 29
2.3 实践项目—钻石的价格 30
2.3.1 钻石的价格—理解问题和定义问题 30
2.3.2 更多背景知识 32
2.3.3 钻石的价格—提出解决方案 32
2.3.4 钻石的价格—收集数据和准备数据 33
2.4 实践项目—信用卡违约 38
2.4.1 信用卡违约—理解问题和定义问题 38
2.4.2 信用卡违约—提出解决方案 39
2.4.3 信用卡违约—收集数据和准备数据 41
2.5 小结 51
扩展阅读 52
第3章 理解数据集—探索性数据分析 53
3.1 技术要求 54
3.2 什么是EDA 54
3.3 一元EDA 56
3.3.1 数值特征的一元EDA 57
3.3.2 分类特征的一元EDA 61
3.4 二元EDA 63
3.4.1 两个数值特征 64
3.4.2 两个分类特征 73
3.4.3 一个数值特征和一个分类特征 77
3.5 图形化的多元EDA 81
3.6 小结 86
扩展阅读 86
第4章 基于机器学习的数值预测 87
4.1 技术要求 88
4.2 机器学习简介 88
4.2.1 监督学习中的任务 89
4.2.2 创建第 一个机器学习模型 90
4.2.3 机器学习的目标—泛化 92
4.2.4 过拟合 94
4.2.5 评价函数和最优化 95
4.3 建模之前的实际考虑 95
4.3.1 scikit-learn简介 96
4.3.2 进一步的特征变换 96
4.4 多元线性回归 103
4.5 LASSO回归 106
4.6 kNN 107
4.7 训练与测试误差 109
4.8 小结 113
扩展阅读 113
第5章 基于机器学习的分类预测 115
5.1 技术要求 116
5.2 分类任务 116
5.3 信用卡违约数据集 117
5.4 逻辑回归 120
5.4.1 一个简单的逻辑回归模型 120
5.4.2 完整的逻辑回归模型 122
5.5 分类树 124
5.5.1 分类树的工作原理 126
5.5.2 分类树的优点和缺点 130
5.5.3 训练更大的分类树 130
5.6 随机森林 131
5.7 训练误差对测试误差 133
5.8 多元分类 135
5.9 朴素贝叶斯分类器 136
5.9.1 条件概率 136
5.9.2 贝叶斯定理 138
5.9.3 回到分类问题 140
5.9.4 高斯朴素贝叶斯 141
5.10 小结 143
扩展阅读 143
第6章 面向预测分析的神经网络简介 144
6.1 技术要求 144
6.2 引入神经网络模型 145
6.2.1 深度学习 145
6.2.2 MLP的结构—神经网络模型的组成部分 146
6.2.3 MLP的学习原理 148
6.3 TensorFlow和Keras简介 149
6.3.1 TensorFlow 149
6.3.2 Keras—以人为本的深度学习 150
6.4 基于神经网络的回归 151
6.4.1 构建预测钻石价格的MLP 152
6.4.2 训练MLP 154
6.4.3 基于神经网络的预测 156
6.5 基于神经网络的分类 157
6.5.1 构建预测信用卡违约的MLP 158
6.5.2 评价预测 160
6.6 训练神经网络模型的“黑暗艺术” 161
6.6.1 决策太多,时间太少 162
6.6.2 神经网络的正则化 163
6.6.3 训练神经网络模型的实用技巧 172
6.7 小结 173
扩展阅读 173
第7章 模型评价 174
7.1 技术要求 175
7.2 回归模型的评价 175
7.2.1 评价回归模型的指标 176
7.2.2 评价回归模型的可视化方法 180
7.3 评价分类模型 183
7.3.1 混淆矩阵及相关指标 184
7.3.2 评价分类模型的可视化方法 187
7.4 k折交叉验证 195
7.5 小结 197
扩展阅读 197
第8章 调整模型和提高性能 198
8.1 技术要求 198
8.2 超参数调整 199
8.2.1 优化单个超参数 200
8.2.2 优化多个超参数 205
8.3 提高性能 210
8.3.1 改进钻石价格预测 210
8.3.2 是技术问题,更是业务问题 214
8.4 小结 215
第9章 基于Dash的模型实现 216
9.1 技术要求 216
9.2 模型沟通和/或部署阶段 217
9.2.1 使用技术报告 217
9.2.2 说明现有应用程序的功能 218
9.2.3 分析应用程序 219
9.3 Dash简介 220
9.3.1 什么是Dash 220
9.3.2 Plotly 220
9.3.3 安装 221
9.3.4 应用程序布局 221
9.3.5 构建基本的静态App 222
9.3.6 构建基本的交互式App 224
9.4 将预测模型实现为网络应用程序 228
9.4.1 生成预测模型对象 229
9.4.2 构建网络应用程序 231
9.5 小结 237
扩展阅读 238
猜您喜欢