产品特色
编辑推荐
机器学习关注于预测,其核心是一种基于数学和算法的技术,要掌握该技术,需要对数学及统计概念有深入理解,能够熟练使用R 语言或者其他编程语言。
本书通过集中介绍两类可以进行有效预测的机器学习算法,展示了如何使用Python 编程语言完成机器学习任务,从而降低机器学习难度,使机器学习能够被更广泛的人群掌握。
作者利用多年的机器学习经验带领读者设计、构建并实现自己的机器学习方案。本书尽可能地用简单的术语来介绍算法,避免复杂的数学推导,同时提供了示例代码帮助读者迅速上手。读者会很快深入了解模型构建背后的原理,不论简单问题还是复杂问题,读者都可以学会如何找到问题的解决算法。书中详细的示例,给出了具体的可修改的代码,展示了机器学习机理,涵盖了线性回归和集成方法,帮助理解使用机器学习方法的基本流程。
本书为不具备数学或统计背景的读者量身打造,详细介绍了如何:
● 针对任务选择合适算法; ● 对不同目的应用训练好的模型;
● 学习数据处理机制,准备数据; ● 评估模型性能以保证应用效果;
● 掌握Python 机器学习核心算法包; ● 使用示例代码设计和构建你自己的模型;
● 构建实用的多功能预测模型。
内容简介
在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知所措。本书从算法和Python语言实现的角度,帮助读者认识机器学习。
本书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来展示所讨论的算法的使用原则。全书共分为7章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。本书主要针对想提高机器学习技能的Python开发人员,帮助他们解决某一特定的项目或是提升相关的技能。
作者简介
Michael Bowles,在硅谷黑客道场教授机器学习,提供机器学习项目咨询,同时参与了多家创业公司,涉及的领域包括生物信息学、金融高频交易等。他在麻省理工学院获得助理教授教职后,创建并运营了两家硅谷创业公司,这两家公司都已成功上市。他在黑客道场的课程往往听者云集并且好评颇多。
目录
第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
《Python机器学习 预测分析核心算法》:一本深度探索的算法实战指南 在当今数据爆炸的时代,从海量信息中挖掘价值、预测未来趋势已成为各行各业的核心竞争力。机器学习,作为实现这一目标的关键技术,正以前所未有的速度渗透到我们生活的方方面面。而Python,凭借其简洁的语法、强大的库生态和活跃的社区,已经成为机器学习开发的首选语言。《Python机器学习 预测分析核心算法》正是应运而生,旨在为读者提供一个全面、深入且实用的平台,解锁机器学习的强大力量,掌握预测分析的核心奥秘。 本书并非仅仅罗列算法的原理,更侧重于如何将这些算法付诸实践,解决真实世界的问题。我们深知,理解算法的理论基础固然重要,但更关键的是掌握如何在Python环境中,利用各种成熟的工具和技术,有效地构建、训练和评估预测模型。因此,本书将理论与实践紧密结合,力求让读者不仅知其然,更知其所以然,并能融会贯通,灵活运用。 核心算法,逐一击破 本书将围绕预测分析中最核心、最常用的机器学习算法展开。我们将从基础的线性模型开始,逐步深入到更加复杂和强大的模型。 线性回归与逻辑回归: 作为理解更复杂模型的基础,我们将详细解析线性回归的原理、假设条件、损失函数以及正则化方法(如L1和L2正则化),并演示如何使用Scikit-learn等库进行模型训练和预测。在此基础上,我们将深入讲解逻辑回归,重点关注其在分类问题中的应用,包括概率估计、决策边界以及多类别分类问题。我们将探讨如何处理类别不平衡、特征工程对逻辑回归性能的影响等实际问题。 决策树与随机森林: 决策树以其直观易懂的结构和良好的可解释性,成为许多数据科学家的首选。我们将深入剖析决策树的构建过程,包括信息增益、基尼系数等分裂准则,以及剪枝策略以避免过拟合。在此基础上,我们将详细介绍随机森林,这一集成学习的代表作。我们将解释Bagging(自助采样聚合)的原理,如何通过构建多棵决策树并结合投票机制来提高模型的鲁棒性和准确性。本书还将指导读者如何调整随机森林的超参数,以及如何解读特征重要性,为特征选择和模型优化提供指导。 支持向量机(SVM): SVM以其在高维空间中的强大分类能力而闻名。我们将深入理解SVM的核心思想,包括最大间隔分类器、核函数(如线性核、多项式核、径向基核RBF)的原理和选择,以及如何处理非线性可分的情况。本书将详细介绍软间隔SVM,以及拉格朗日乘子法在SVM中的应用。我们将通过实例展示如何使用Scikit-learn有效地训练SVM模型,并讨论如何选择合适的核函数和正则化参数以获得最佳性能。 K近邻(KNN): KNN作为一种简单的非参数模型,在某些场景下表现出色。我们将解析KNN的原理,包括距离度量(欧氏距离、曼哈顿距离等)的选择,以及k值的确定。本书将探讨KNN的优缺点,以及在处理高维数据时可能遇到的“维度灾难”问题,并提供一些缓解策略。 朴素贝叶斯: 朴素贝叶斯分类器基于贝叶斯定理和特征之间的条件独立性假设,在文本分类等领域有着广泛的应用。我们将详细讲解贝叶斯定理,以及朴素贝叶斯模型如何计算类条件概率和先验概率。本书将介绍不同类型的朴素贝叶斯分类器,如高斯朴素贝叶斯、多项式朴素贝叶斯和伯努利朴素贝叶斯,并说明它们各自的适用场景。 集成学习: 除了随机森林,本书还将深入介绍其他重要的集成学习技术,如Boosting。我们将重点讲解AdaBoost和Gradient Boosting(包括XGBoost和LightGBM等高效实现)。我们将详细阐述AdaBoost如何通过迭代地调整样本权重来关注难以分类的样本,以及Gradient Boosting如何通过拟合残差来逐步提升模型性能。我们将深入剖析XGBoost和LightGBM在算法优化、并行计算和正则化方面的创新,以及它们在实际比赛和工业界为何如此受欢迎。 神经网络与深度学习基础: 随着深度学习的兴起,神经网络已成为解决复杂预测问题的利器。本书将从基础的感知机开始,逐步引入多层感知机(MLP),并详细讲解前向传播、反向传播算法,激活函数(Sigmoid, ReLU, Tanh等)的作用,以及损失函数(交叉熵、均方误差等)。我们将介绍不同类型的神经网络架构,如卷积神经网络(CNN)在图像处理中的应用,以及循环神经网络(RNN)和长短期记忆网络(LSTM)在序列数据处理中的能力。本书将指导读者使用TensorFlow或PyTorch等主流深度学习框架,构建和训练简单的神经网络模型,为进一步深入学习深度学习打下坚实的基础。 不仅仅是算法,更是实践 掌握算法本身只是第一步,更重要的是如何将其应用于实际问题。本书贯穿始终的实践导向将体现在以下几个方面: Python环境搭建与库介绍: 我们将从Python的安装和必要的科学计算库(NumPy, Pandas, Matplotlib, Scikit-learn)的介绍开始,确保读者拥有良好的开发环境。我们将详细讲解Pandas在数据处理和清洗中的强大功能,以及Matplotlib和Seaborn在数据可视化中的应用,数据可视化是理解数据和模型性能的关键。 数据预处理与特征工程: 真实世界的数据往往是杂乱、不完整且充满噪声的。本书将投入大量篇幅讲解数据预处理技术,包括缺失值处理、异常值检测与处理、数据标准化与归一化、类别特征编码(One-Hot Encoding, Label Encoding)等。同时,我们也将深入探讨特征工程,这是提升模型性能的关键步骤。我们将演示如何通过特征组合、多项式特征、交互特征以及领域知识来创建更有预测能力的特征。 模型评估与选择: 仅仅训练出模型是不够的,如何客观地评估模型的性能并选择最优模型同样至关重要。本书将详细介绍各种模型评估指标,包括准确率、精确率、召回率、F1分数、ROC曲线、AUC值、均方根误差(RMSE)、平均绝对误差(MAE)等,并深入讲解它们各自的含义和适用场景。我们将演示如何使用交叉验证来获得更可靠的模型评估结果,并指导读者如何根据不同的业务目标选择合适的评估指标。 超参数调优: 机器学习模型的性能很大程度上取决于其超参数的设置。本书将详细介绍网格搜索(Grid Search)和随机搜索(Random Search)等常用的超参数调优技术,并介绍像贝叶斯优化(Bayesian Optimization)这样更高级的调优方法,帮助读者找到模型的最优配置。 模型解释性: 在许多应用场景中,理解模型为什么做出某个预测与预测结果本身一样重要。本书将介绍模型解释性技术,例如特征重要性、局部可解释模型无关解释(LIME)和 Shapley 可加性解释(SHAP)等,帮助读者理解模型内部的决策逻辑。 案例分析与实战项目: 为了帮助读者更好地巩固所学知识,本书将通过一系列精心设计的案例分析,涵盖了从经典的房价预测、客户流失预测到更具挑战性的文本分类、图像识别等领域。每个案例都将引导读者完成从数据加载、预处理、模型选择、训练、评估到优化的完整流程,力求让读者在解决真实问题的过程中,真正掌握机器学习的应用能力。 面向读者 本书适合以下人群: 初学者: 对机器学习和预测分析感兴趣,希望从零开始系统学习Python机器学习算法的初学者。 在校学生: 计算机科学、数据科学、统计学等相关专业的学生,希望巩固理论知识并掌握实践技能。 在职开发者与数据分析师: 希望提升自己在机器学习和预测分析领域的技能,将其应用于实际工作中,解决业务问题。 对AI技术感兴趣的读者: 希望了解机器学习的核心算法,为进一步探索人工智能的其他分支打下基础。 学习本书,您将收获: 扎实的理论基础: 深入理解各种预测分析核心算法的原理和数学基础。 强大的实践能力: 能够熟练使用Python及相关库进行数据处理、模型构建、训练、评估和优化。 解决实际问题的能力: 掌握将机器学习技术应用于真实业务场景,解决复杂问题的思维模式和方法。 前沿技术视野: 了解当前机器学习领域的热点技术和发展趋势。 《Python机器学习 预测分析核心算法》不仅仅是一本书,更是一段探索数据价值、解锁未来洞察的旅程。我们相信,通过本书的学习,您将能够自信地驾驭机器学习这艘巨轮,在数据驱动的时代乘风破浪,创造属于自己的价值。