描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115433732
编辑推荐
机器学习关注于预测,其核心是一种基于数学和算法的技术,要掌握该技术,需要对数学及统计概念有深入理解,能够熟练使用R 语言或者其他编程语言。
本书通过集中介绍两类可以进行有效预测的机器学习算法,展示了如何使用Python 编程语言完成机器学习任务,从而降低机器学习难度,使机器学习能够被更广泛的人群掌握。
作者利用多年的机器学习经验带领读者设计、构建并实现自己的机器学习方案。本书尽可能地用简单的术语来介绍算法,避免复杂的数学推导,同时提供了示例代码帮助读者迅速上手。读者会很快深入了解模型构建背后的原理,不论简单问题还是复杂问题,读者都可以学会如何找到问题的解决算法。书中详细的示例,给出了具体的可修改的代码,展示了机器学习机理,涵盖了线性回归和集成方法,帮助理解使用机器学习方法的基本流程。
本书为不具备数学或统计背景的读者量身打造,详细介绍了如何:
● 针对任务选择合适算法; ● 对不同目的应用训练好的模型;
● 学习数据处理机制,准备数据; ● 评估模型性能以保证应用效果;
● 掌握Python 机器学习核心算法包; ● 使用示例代码设计和构建你自己的模型;
● 构建实用的多功能预测模型。
本书通过集中介绍两类可以进行有效预测的机器学习算法,展示了如何使用Python 编程语言完成机器学习任务,从而降低机器学习难度,使机器学习能够被更广泛的人群掌握。
作者利用多年的机器学习经验带领读者设计、构建并实现自己的机器学习方案。本书尽可能地用简单的术语来介绍算法,避免复杂的数学推导,同时提供了示例代码帮助读者迅速上手。读者会很快深入了解模型构建背后的原理,不论简单问题还是复杂问题,读者都可以学会如何找到问题的解决算法。书中详细的示例,给出了具体的可修改的代码,展示了机器学习机理,涵盖了线性回归和集成方法,帮助理解使用机器学习方法的基本流程。
本书为不具备数学或统计背景的读者量身打造,详细介绍了如何:
● 针对任务选择合适算法; ● 对不同目的应用训练好的模型;
● 学习数据处理机制,准备数据; ● 评估模型性能以保证应用效果;
● 掌握Python 机器学习核心算法包; ● 使用示例代码设计和构建你自己的模型;
● 构建实用的多功能预测模型。
内容简介
在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知
所措。本书从算法和Python 语言实现的角度,帮助读者认识机器学习。
本书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来
展示所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。
本书主要针对想提高机器学习技能的Python 开发人员,帮助他们解决某一特定的项
目或是提升相关的技能。
所措。本书从算法和Python 语言实现的角度,帮助读者认识机器学习。
本书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来
展示所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。
本书主要针对想提高机器学习技能的Python 开发人员,帮助他们解决某一特定的项
目或是提升相关的技能。
目 录
目录
第1 章 关于预测的两类核心
算法 …………………………………………1
1.1 为什么这两类算法如此有用 ……. 1
1.2 什么是惩罚回归方法………………… 6
1.3 什么是集成方法 ……………………….. 8
1.4 算法的选择 ……………………………….. 9
1.5 构建预测模型的流程………………. 11
1.5.1 构造一个机器学习问题 ……12
1.5.2 特征提取和特征工程 ……….14
1.5.3 确定训练后的模型的性能 …..15
1.6 各章内容及其依赖关系 ………….. 15
1.7 小结 …………………………………………. 17
1.8 参考文献 …………………………………. 17
第2 章 通过理解数据来了解
问题 ……………………………………….19
2.1 “解剖”一个新问题 ………………… 19
2.1.1 属性和标签的不同类型
决定模型的选择 ………………21
2.1.2 新数据集的注意事项 ……….22
2.2 分类问题:用声纳发现未
爆炸的水雷 ……………………………… 23
2.2.1 “ 岩石vs 水雷”数据集的
物理特性 …………………………23
2.2.2 “ 岩石vs 水雷”数据集统计
特征 ………………………………..27
2.2.3 用分位数图展示异常点 ……30
2.2.4 类别属性的统计特征 ……….32
2.2.5 利用Python Pandas 对“岩石
vs 水雷”数据集进行统计
分析 ………………………………..32
2.3 对“岩石vs 水雷数据集”属性的
可视化展示 ……………………………… 35
2.3.1 利用平行坐标图进行可视化
展示 ………………………………..35
2.3.2 属性和标签的关系可视化 …..37
2.3.3 用热图(heat map)展示
属性和标签的相关性 ……….44
2.3.4 对“岩石vs. 水雷”数据集
探究过程小结 ………………….45
2.4 基于因素变量的实数值预测-
鲍鱼的年龄 ……………………………… 45
2.4.1 回归问题的平行坐标图- 鲍鱼
问题的变量关系可视化 ……51
2.4.2 回归问题如何使用关联热
图-鲍鱼问题的属性对关
系的可视化 ……………………..55
2.5 用实数值属性预测实数值目标:
评估红酒口感 ………………………….. 57
2.6 多类别分类问题:它属于哪种
玻璃 …………………………………………. 63
小结 …………………………………………………… 68
参考文献 …………………………………………… 69
第3 章 预测模型的构建:平衡性
能、复杂性以及大数据 ….71
3.1 基本问题:理解函数逼近………. 71
3.1.1 使用训练数据 ………………….72
3.1.2 评估预测模型的性能 ……….73
3.2 影响算法选择及性能的因素——
复杂度以及数据 ……………………… 74
3.2.1 简单问题和复杂问题的
对比 ………………………………..74
3.2.2 一个简单模型与复杂模型的
对比 ………………………………..77
3.2.3 影响预测算法性能的因素 ….80
3.2.4 选择一个算法:线性或者
非线性 …………………………….81
3.3 度量预测模型性能 ………………….. 81
3.3.1 不同类型问题的性能评价
指标 ………………………………..82
3.3.2 部署模型的性能模拟 ……….92
3.4 模型与数据的均衡 ………………….. 94
3.4.1 通过权衡问题复杂度、模型
复杂度以及数据集规模来选
择模型 …………………………….94
3.4.2 使用前向逐步回归来控制过
拟合 ………………………………..95
3.4.3 评估并理解你的预测模型….101
3.4.4 通过惩罚回归系数来控制
过拟合——岭回归 …………103
小结 …………………………………………………. 112
参考文献 …………………………………………. 112
第4 章 惩罚线性回归模型 ……….113
4.1 为什么惩罚线性回归方法如此
有效 ……………………………………….. 113
4.1.1 足够快速地估计系数 ……..114
4.1.2 变量的重要性信息 …………114
4.1.3 部署时的预测足够快速 ….114
4.1.4 性能可靠 ……………………….114
4.1.5 稀疏解 …………………………..115
4.1.6 问题本身可能需要线性
模型 ………………………………115
4.1.7 什么时候使用集成方法 ….115
4.2 惩罚线性回归:对线性回归进行
正则化以获得性能 ………… 115
4.2.1 训练线性模型:小化错误
以及更多 ……………………….117
4.2.2 向OLS 公式中添加一个
系数惩罚项 ……………………118
4.2.3 其他有用的系数惩罚项:
Manhattan 以及ElasticNet …..118
4.2.4 为什么套索惩罚会导致稀疏的
系数向量 ……………………….119
4.2.5 ElasticNet 惩罚项包含套索
惩罚项以及岭惩罚项 ……..120
4.3 求解惩罚线性回归问题 ………… 121
4.3.1 理解小角度回归与前向逐步
回归的关系 ……………………121
4.3.2 LARS 如何生成数百个不同
复杂度的模型 ………………..125
4.3.3 从数百个LARS 生成结果中
选择模型 ………………..127
4.3.4 使用Glmnet :非常快速
并且通用 ……………………….133
4.4 基于数值输入的线性回归方法的
扩展 ……………………………………….. 140
4.4.1 使用惩罚回归求解分类
问题 ………………………………140
4.4.2 求解超过2 种输出的分类
问题 ………………………………145
4.4.3 理解基扩展:使用线性方法来
解决非线性问题 …………….145
4.4.4 向线性方法中引入非数值
属性 ………………………………148
小结 …………………………………………………. 152
参考文献 …………………………………………. 153
第5 章 使用惩罚线性方法来
构建预测模型 …………………155
5.1 惩罚线性回归的Python 包 ….. 155
5.2 多变量回归:预测红酒口感 … 156
5.2.1 构建并测试模型以预测红酒
口感 ………………………………157
5.2.2 部署前在整个数据集上进行
训练 ………………………………162
5.2.3 基扩展:基于原始属性扩展
新属性来改进性能 …………168
5.3 二分类:使用惩罚线性回归来
检测未爆炸的水雷 ………………… 172
5.3.1 构建部署用的岩石水雷
分类器 …………………………..183
5.4 多类别分类- 分类犯罪现场的
玻璃样本 ……………………………….. 196
小结 …………………………………………………. 201
参考文献 …………………………………………. 202
第6 章 集成方法 ……………………………203
6.1 二元决策树 ……………………………. 203
6.1.1 如何利用二元决策树进行
预测 ………………………………205
6.1.2 如何训练一个二元决策树….207
6.1.3 决策树的训练等同于
分割点的选择 ………………..211
6.1.4 二元决策树的过拟合 ……..214
6.1.5 针对分类问题和类别特征
所做的修改 ……………………218
6.2 自举集成:Bagging 算法 ……… 219
6.2.1 Bagging 算法是如何
工作的 …………………………..219
6.2.2 Bagging 算法小结 ………….230
6.3 梯度提升法(Gradient
Boosting) ………………………………. 230
6.3.1 梯度提升法的基本原理 ….230
6.3.2 获取梯度提升法的
性能 ………………………………234
6.3.3 针对多变量问题的梯度
提升法 …………………………..237
6.3.4 梯度提升方法的小结 ……..241
6.4 随机森林 ……………………………….. 241
6.4.1 随机森林:Bagging 加上随机
属性子集 ……………………….246
6.4.2 随机森林的性能 …………….246
6.4.3 随机森林小结 ………………..247
6.5 小结 ……………………………………….. 248
6.6 参考文献 ……………………………….. 248
第7 章 用Python 构建集成
模型 ……………………………………..251
7.1 用Python 集成方法工具包解决
回归问题 ……………………………….. 251
7.1.1 构建随机森林模型来预测
红酒口感 ……………………….251
7.1.2 用梯度提升预测红酒品质 ….258
7.2 用Bagging 来预测红酒口感 …. 266
7.3 Python 集成方法引入非数值
属性 ……………………………………….. 271
7.3.1 对鲍鱼性别属性编码引入
Python 随机森林回归
方法 ………………………………271
7.3.2 评估性能以及变量编码的
重要性 …………………………..274
7.3.3 在梯度提升回归方法中引入
鲍鱼性别属性 ………………..276
7.3.4 梯度提升法的性能评价以及
变量编码的重要性 …………279
7.4 用Python 集成方法解决二分类
问题 ……………………………………….. 282
7.4.1 用Python 随机森林方法探测
未爆炸的水雷 ………………..282
7.4.2 构建随机森林模型探测未
爆炸水雷 ……………………….283
7.4.3 随机森林分类器的性能 ….288
7.4.4 用Python 梯度提升法探测
未爆炸水雷 ……………………289
7.4.5 梯度提升法分类器的性能….296
7.5 用Python 集成方法解决多类别
分类问题 ……………………………….. 300
7.5.1 用随机森林对玻璃进行
分类 ………………………………300
7.5.2 处理类不均衡问题 …………304
7.5.3 用梯度提升法对玻璃进行
分类 ………………………………306
7.5.4 评估在梯度提升法中使用随机
森林基学习器的好处 ……..311
7.6 算法比较 ……………………………….. 313
小结 …………………………………………………. 315
参考文献 …………………………………………. 315
第1 章 关于预测的两类核心
算法 …………………………………………1
1.1 为什么这两类算法如此有用 ……. 1
1.2 什么是惩罚回归方法………………… 6
1.3 什么是集成方法 ……………………….. 8
1.4 算法的选择 ……………………………….. 9
1.5 构建预测模型的流程………………. 11
1.5.1 构造一个机器学习问题 ……12
1.5.2 特征提取和特征工程 ……….14
1.5.3 确定训练后的模型的性能 …..15
1.6 各章内容及其依赖关系 ………….. 15
1.7 小结 …………………………………………. 17
1.8 参考文献 …………………………………. 17
第2 章 通过理解数据来了解
问题 ……………………………………….19
2.1 “解剖”一个新问题 ………………… 19
2.1.1 属性和标签的不同类型
决定模型的选择 ………………21
2.1.2 新数据集的注意事项 ……….22
2.2 分类问题:用声纳发现未
爆炸的水雷 ……………………………… 23
2.2.1 “ 岩石vs 水雷”数据集的
物理特性 …………………………23
2.2.2 “ 岩石vs 水雷”数据集统计
特征 ………………………………..27
2.2.3 用分位数图展示异常点 ……30
2.2.4 类别属性的统计特征 ……….32
2.2.5 利用Python Pandas 对“岩石
vs 水雷”数据集进行统计
分析 ………………………………..32
2.3 对“岩石vs 水雷数据集”属性的
可视化展示 ……………………………… 35
2.3.1 利用平行坐标图进行可视化
展示 ………………………………..35
2.3.2 属性和标签的关系可视化 …..37
2.3.3 用热图(heat map)展示
属性和标签的相关性 ……….44
2.3.4 对“岩石vs. 水雷”数据集
探究过程小结 ………………….45
2.4 基于因素变量的实数值预测-
鲍鱼的年龄 ……………………………… 45
2.4.1 回归问题的平行坐标图- 鲍鱼
问题的变量关系可视化 ……51
2.4.2 回归问题如何使用关联热
图-鲍鱼问题的属性对关
系的可视化 ……………………..55
2.5 用实数值属性预测实数值目标:
评估红酒口感 ………………………….. 57
2.6 多类别分类问题:它属于哪种
玻璃 …………………………………………. 63
小结 …………………………………………………… 68
参考文献 …………………………………………… 69
第3 章 预测模型的构建:平衡性
能、复杂性以及大数据 ….71
3.1 基本问题:理解函数逼近………. 71
3.1.1 使用训练数据 ………………….72
3.1.2 评估预测模型的性能 ……….73
3.2 影响算法选择及性能的因素——
复杂度以及数据 ……………………… 74
3.2.1 简单问题和复杂问题的
对比 ………………………………..74
3.2.2 一个简单模型与复杂模型的
对比 ………………………………..77
3.2.3 影响预测算法性能的因素 ….80
3.2.4 选择一个算法:线性或者
非线性 …………………………….81
3.3 度量预测模型性能 ………………….. 81
3.3.1 不同类型问题的性能评价
指标 ………………………………..82
3.3.2 部署模型的性能模拟 ……….92
3.4 模型与数据的均衡 ………………….. 94
3.4.1 通过权衡问题复杂度、模型
复杂度以及数据集规模来选
择模型 …………………………….94
3.4.2 使用前向逐步回归来控制过
拟合 ………………………………..95
3.4.3 评估并理解你的预测模型….101
3.4.4 通过惩罚回归系数来控制
过拟合——岭回归 …………103
小结 …………………………………………………. 112
参考文献 …………………………………………. 112
第4 章 惩罚线性回归模型 ……….113
4.1 为什么惩罚线性回归方法如此
有效 ……………………………………….. 113
4.1.1 足够快速地估计系数 ……..114
4.1.2 变量的重要性信息 …………114
4.1.3 部署时的预测足够快速 ….114
4.1.4 性能可靠 ……………………….114
4.1.5 稀疏解 …………………………..115
4.1.6 问题本身可能需要线性
模型 ………………………………115
4.1.7 什么时候使用集成方法 ….115
4.2 惩罚线性回归:对线性回归进行
正则化以获得性能 ………… 115
4.2.1 训练线性模型:小化错误
以及更多 ……………………….117
4.2.2 向OLS 公式中添加一个
系数惩罚项 ……………………118
4.2.3 其他有用的系数惩罚项:
Manhattan 以及ElasticNet …..118
4.2.4 为什么套索惩罚会导致稀疏的
系数向量 ……………………….119
4.2.5 ElasticNet 惩罚项包含套索
惩罚项以及岭惩罚项 ……..120
4.3 求解惩罚线性回归问题 ………… 121
4.3.1 理解小角度回归与前向逐步
回归的关系 ……………………121
4.3.2 LARS 如何生成数百个不同
复杂度的模型 ………………..125
4.3.3 从数百个LARS 生成结果中
选择模型 ………………..127
4.3.4 使用Glmnet :非常快速
并且通用 ……………………….133
4.4 基于数值输入的线性回归方法的
扩展 ……………………………………….. 140
4.4.1 使用惩罚回归求解分类
问题 ………………………………140
4.4.2 求解超过2 种输出的分类
问题 ………………………………145
4.4.3 理解基扩展:使用线性方法来
解决非线性问题 …………….145
4.4.4 向线性方法中引入非数值
属性 ………………………………148
小结 …………………………………………………. 152
参考文献 …………………………………………. 153
第5 章 使用惩罚线性方法来
构建预测模型 …………………155
5.1 惩罚线性回归的Python 包 ….. 155
5.2 多变量回归:预测红酒口感 … 156
5.2.1 构建并测试模型以预测红酒
口感 ………………………………157
5.2.2 部署前在整个数据集上进行
训练 ………………………………162
5.2.3 基扩展:基于原始属性扩展
新属性来改进性能 …………168
5.3 二分类:使用惩罚线性回归来
检测未爆炸的水雷 ………………… 172
5.3.1 构建部署用的岩石水雷
分类器 …………………………..183
5.4 多类别分类- 分类犯罪现场的
玻璃样本 ……………………………….. 196
小结 …………………………………………………. 201
参考文献 …………………………………………. 202
第6 章 集成方法 ……………………………203
6.1 二元决策树 ……………………………. 203
6.1.1 如何利用二元决策树进行
预测 ………………………………205
6.1.2 如何训练一个二元决策树….207
6.1.3 决策树的训练等同于
分割点的选择 ………………..211
6.1.4 二元决策树的过拟合 ……..214
6.1.5 针对分类问题和类别特征
所做的修改 ……………………218
6.2 自举集成:Bagging 算法 ……… 219
6.2.1 Bagging 算法是如何
工作的 …………………………..219
6.2.2 Bagging 算法小结 ………….230
6.3 梯度提升法(Gradient
Boosting) ………………………………. 230
6.3.1 梯度提升法的基本原理 ….230
6.3.2 获取梯度提升法的
性能 ………………………………234
6.3.3 针对多变量问题的梯度
提升法 …………………………..237
6.3.4 梯度提升方法的小结 ……..241
6.4 随机森林 ……………………………….. 241
6.4.1 随机森林:Bagging 加上随机
属性子集 ……………………….246
6.4.2 随机森林的性能 …………….246
6.4.3 随机森林小结 ………………..247
6.5 小结 ……………………………………….. 248
6.6 参考文献 ……………………………….. 248
第7 章 用Python 构建集成
模型 ……………………………………..251
7.1 用Python 集成方法工具包解决
回归问题 ……………………………….. 251
7.1.1 构建随机森林模型来预测
红酒口感 ……………………….251
7.1.2 用梯度提升预测红酒品质 ….258
7.2 用Bagging 来预测红酒口感 …. 266
7.3 Python 集成方法引入非数值
属性 ……………………………………….. 271
7.3.1 对鲍鱼性别属性编码引入
Python 随机森林回归
方法 ………………………………271
7.3.2 评估性能以及变量编码的
重要性 …………………………..274
7.3.3 在梯度提升回归方法中引入
鲍鱼性别属性 ………………..276
7.3.4 梯度提升法的性能评价以及
变量编码的重要性 …………279
7.4 用Python 集成方法解决二分类
问题 ……………………………………….. 282
7.4.1 用Python 随机森林方法探测
未爆炸的水雷 ………………..282
7.4.2 构建随机森林模型探测未
爆炸水雷 ……………………….283
7.4.3 随机森林分类器的性能 ….288
7.4.4 用Python 梯度提升法探测
未爆炸水雷 ……………………289
7.4.5 梯度提升法分类器的性能….296
7.5 用Python 集成方法解决多类别
分类问题 ……………………………….. 300
7.5.1 用随机森林对玻璃进行
分类 ………………………………300
7.5.2 处理类不均衡问题 …………304
7.5.3 用梯度提升法对玻璃进行
分类 ………………………………306
7.5.4 评估在梯度提升法中使用随机
森林基学习器的好处 ……..311
7.6 算法比较 ……………………………….. 313
小结 …………………………………………………. 315
参考文献 …………………………………………. 315
前 言
序言
媒体评论
评论
评论
还没有评论。