Python机器学习 预测分析核心算法pdf

图书网 2019年1月17日20:28:281 3.1K1

机器学习关注于预测,其核心是一种基于数学和算法的技术,要掌握该技术,需要对数学及统计概念有深入理解,能够熟练使用R 语言或者其他编程语言。

本书通过集中介绍两类可以进行有效预测的机器学习算法,展示了如何使用Python 编程语言完成机器学习任务,从而降低机器学习难度,使机器学习能够被更广泛的人群掌握。

作者利用多年的机器学习经验带领读者设计、构建并实现自己的机器学习方案。本书尽可能地用简单的术语来介绍算法,避免复杂的数学推导,同时提供了示例代码帮助读者迅速上手。读者会很快深入了解模型构建背后的原理,不论简单问题还是复杂问题,读者都可以学会如何找到问题的解决算法。书中详细的示例,给出了具体的可修改的代码,展示了机器学习机理,涵盖了线性回归和集成方法,帮助理解使用机器学习方法的基本流程。

本书为不具备数学或统计背景的读者量身打造,详细介绍了如何:

● 针对任务选择合适算法; ● 对不同目的应用训练好的模型;

● 学习数据处理机制,准备数据; ● 评估模型性能以保证应用效果;

● 掌握Python 机器学习核心算法包; ● 使用示例代码设计和构建你自己的模型;

● 构建实用的多功能预测模型。

Python机器学习 预测分析核心算法 内容简介

在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知所措。本书从算法和Python语言实现的角度,帮助读者认识机器学习。

本书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来展示所讨论的算法的使用原则。全书共分为7章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。本书主要针对想提高机器学习技能的Python开发人员,帮助他们解决某一特定的项目或是提升相关的技能。

Python机器学习 预测分析核心算法 目录

第1章 关于预测的两类核心算法

1.1 为什么这两类算法如此有用

1.2 什么是惩罚回归方法

1.3 什么是集成方法

1.4 算法的选择

1.5 构建预测模型的流程

1.5.1 构造一个机器学习问题

1.5.2 特征提取和特征工程

1.5.3 确定训练后模型的性能

1.6 各章内容及其依赖关系

小结

参考文献

第2章 通过理解数据来了解问题

2.1 “解剖”一个新问题

2.1.1 属性和标签的不同类型决定模型的选择

2.1.2 新数据集的注意事项

2.2 分类问题:用声纳发现未爆炸的水雷

2.2.1 “岩石vs.水雷”数据集的物理特性

2.2.2 “岩石vs.水雷”数据集统计特征

2.2.3 用分位数图展示异常点

2.2.4 类别属性的统计特征

2.2.5 利用Python Pandas对“岩石vs.水雷”数据集进行统计分析

2.3 对“岩石vs.水雷”数据集属性的可视化展示

2.3.1 利用平行坐标图进行可视化展示

2.3.2 属性和标签的关系可视化

2.3.3 用热图(heat map)展示属性和标签的相关性

2.3.4 对“岩石vs.水雷”数据集探究过程小结

2.4 基于因素变量的实数值预测:鲍鱼的年龄

2.4.1 回归问题的平行坐标图:鲍鱼问题的变量关系可视化

2.4.2 回归问题如何使用关联热图—鲍鱼问题的属性对关系的可视化

2.5 用实数值属性预测实数值目标:评估红酒口感

2.6 多类别分类问题:它属于哪种玻璃

小结

参考文献

第3章 预测模型的构建:平衡性能、复杂性以及大数据

3.1 基本问题:理解函数逼近

3.1.1 使用训练数据

3.1.2 评估预测模型的性能

3.2 影响算法选择及性能的因素——复杂度以及数据

3.2.1 简单问题和复杂问题的对比

3.2.2 一个简单模型与复杂模型的对比

3.2.3 影响预测算法性能的因素

3.2.4 选择一个算法:线性或者非线性

3.3 度量预测模型性能

3.3.1 不同类型问题的性能评价指标

3.3.2 部署模型的性能模拟

3.4 模型与数据的均衡

3.4.1 通过权衡问题复杂度、模型复杂度以及数据集规模来选择模型

3.4.2 使用前向逐步回归来控制过拟合

3.4.3 评估并理解你的预测模型

3.4.4 通过惩罚回归系数来控制过拟合——岭回归

小结

参考文献

第4章 惩罚线性回归模型

4.1 为什么惩罚线性回归方法如此有效

4.1.1 足够快速地估计系数

4.1.2 变量的重要性信息

4.1.3 部署时的预测足够快速

4.1.4 性能可靠

4.1.5 稀疏解

4.1.6 问题本身可能需要线性模型

4.1.7 什么时候使用集成方法

4.2 惩罚线性回归:对线性回归进行正则化以获得最优性能

4.2.1 训练线性模型:最小化错误以及更多

4.2.2 向OLS公式中添加一个系数惩罚项

4.2.3 其他有用的系数惩罚项:Manhattan以及ElasticNet

4.2.4 为什么套索惩罚会导致稀疏的系数向量

4.2.5 ElasticNet惩罚项包含套索惩罚项以及岭惩罚项

4.3 求解惩罚线性回归问题

4.3.1 理解最小角度回归与前向逐步回归的关系

4.3.2 LARS如何生成数百个不同复杂度的模型

4.3.3 从数百个LARS生成结果中选择最佳模型

4.3.4 使用Glmnet:非常快速并且通用

4.4 输入为数值型数据的线性回归方法的扩展

4.4.1 使用惩罚回归求解分类问题

4.4.2 求解超过2种输出的分类问题

4.4.3 理解基扩展:使用线性方法来解决非线性问题

4.4.4 向线性方法中引入非数值属性

小结

参考文献

第5章 使用惩罚线性方法来构建预测模型

5.1 惩罚线性回归的Python包

5.2 多变量回归:预测红酒口感

5.2.1 构建并测试模型以预测红酒口感

5.2.2 部署前在整个数据集上进行训练

5.2.3 基扩展:基于原始属性扩展新属性来改进性能

5.3 二分类:使用惩罚线性回归来检测未爆炸的水雷

构建部署用的岩石水雷分类器

5.4 多类别分类-分类犯罪现场的玻璃样本

小结

参考文献

第6章 集成方法

6.1 二元决策树

6.1.1 如何利用二元决策树进行预测

6.1.2 如何训练一个二元决策树

6.1.3 决策树的训练等同于分割点的选择

6.1.4 二元决策树的过拟合

6.1.5 针对分类问题和类别特征所做的修改

6.2 自举集成:Bagging算法

6.2.1 Bagging算法是如何工作的

6.2.2 Bagging算法小结

6.3 梯度提升法(Gradient Boosting)

6.3.1 梯度提升法的基本原理

6.3.2 获取梯度提升法的最佳性能

6.3.3 针对多变量问题的梯度提升法

6.3.4 梯度提升方法的小结

6.4 随机森林

6.4.1 随机森林:Bagging加上随机选择的属性子集

6.4.2 随机森林的性能

6.4.3 随机森林小结

小结

参考文献

第7章 用Python构建集成模型

7.1 用Python集成方法工具包解决回归问题

7.1.1 构建随机森林模型来预测红酒口感

7.1.2 用梯度提升预测红酒品质

7.2 用Bagging来预测红酒口感

7.3 Python集成方法引入非数值属性

7.3.1 对鲍鱼性别属性编码引入Python随机森林回归方法

7.3.2 评估性能以及变量编码的重要性

7.3.3 在梯度提升回归方法中引入鲍鱼性别属性

7.3.4 梯度提升法的性能评价以及变量编码的重要性

7.4 用Python集成方法解决二分类问题

7.4.1 用Python随机森林方法探测未爆炸的水雷

7.4.2 构建随机森林模型探测未爆炸水雷

7.4.3 随机森林分类器的性能

7.4.4 用Python梯度提升法探测未爆炸水雷

7.4.5 梯度提升法分类器的性能

7.5 用Python集成方法解决多类别分类问题

7.5.1 用随机森林对玻璃进行分类

7.5.2 处理类不均衡问题

7.5.3 用梯度提升法对玻璃进行分类

7.5.4 评估在梯度提升法中使用随机森林基学习器的好处

7.6 算法比较

小结

参考文献

Python机器学习 预测分析核心算法 精彩文摘

第2章仔细审视各种数据集。这些数据集用于本书中的问题实例,用以说明算法的使用,以及各种算法之间基于性能和其他特征的比较。面对一个新的机器学习问题的起点就是深入专研数据集,深入理解数据集,了解它们的问题和特质。第2章的部分内容就是展示Python中可以用于数据集探索的一些工具集。可以浏览第2章中的部分例子,不需要阅读全部例子就可以了解整个流程,当在后续章节遇到具体的应用实例时,可以返回到第2章阅读相关的部分。

第3章主要介绍机器学习问题中的基本权衡、贯穿本书的关键概念。一个关键概念就是预测问题的数学描述,也会涉及分类和回归问题的差别。第3章也介绍了如何使用样本外(out-of-sample)数据(测试数据)来评估预测模型的性能。样本外数据是指在模型训练过程中不包括的数据。一个好的机器学习实践者要求对一个实际部署的预测模型的性能表现有相对稳定的预估。这就要求使用训练数据集以外的数据来模拟新的数据。第3章将介绍这么做的原因、实现的方法以及这些方法之间如何取舍。另外一个重要的概念就是系统性能的测量方法,第3章将描述这些方法以及它们之间的取舍。对机器学习比较熟悉的读者可以浏览本章,快速略过代码实例,而不需要仔细阅读代码然后运行代码。

第4章介绍训练惩罚回归模型的核心思想,以及基本概念及算法的来源。第3章引入的一些实例导致了惩罚线性回归方法的产生。第4章展示了解决惩罚线性回归训练问题的核心算法代码,以及线性回归方法的几种扩展。一种扩展是将因素变量(factor variable)编码为实数,这样就可以使用线性回归方法。线性回归方法只能用在预测值是数值的情况下,也就是说需要对预测值进行量化。许多实际的重要问题通常的变量是这样的形式:“单身、已婚或离异”等,这种变量对做预测是很有帮助的。如果要引入此种类型的变量(类别变量,categorical variables)到一个线性回归模型,意味着需要设计一种转换方法将类别变量转换为实数变量,第4章将会介绍这些方法。第4章还介绍叫作基扩展(basis expansion)的方法,此方法从非线性回归中获得非线性函数,有时基扩展用于进一步从线性回归中“挤榨”出一些性能的提升。

第5章将第4章介绍的惩罚回归算法应用于第2章提到的问题中。本章概述实现了惩罚回归算法的Python工具包,并用这些工具包来解决问题。本章的目的是尽可能覆盖广泛的各类问题的变体,这样当读者遇到一个问题时,可以找到一个最接近的问题作为借鉴。除了量化并比较预测的性能,第5章也考查这些算法的其他特征。理解特征的选择、特征的重要性(对最终预测结果的贡献)是很重要的,这种理解能力可以加快面临新问题时的开发进程。

第6章关注集成方法。因为集成方法绝大多数情况下基于二元决策树,第一步就是理解训练和使用二元决策树的原则。集成方法的很多特性都是直接继承于二元决策树。基于上述理解,本章介绍3个主要的集成方法: Bagging、提升(boosting)和随机森林。上述每个算法都介绍了使用的基本原则、核心算法的代码,这样读者就会了解如何使用这些算法。

第7章应用集成方法来解决第2章中的问题,然后对各种算法进行对比分析。对比分析的内容包括:预测的性能、训练所需的时间和性能等。所有的算法会给出特征的重要性打分。对于特定的问题会对比分析特征在不同的算法中对预测结果的重要性。

以笔者的经验,向程序员和计算机科学家教授机器学习,代码实例要优于数学公式。这就是本书所采用的方法:提供一些基础的数学知识、算法框架和代码实例来说明算法的关键点。本书讨论的几乎所有的算法都可以在本书或网站上找到代码,这么做的初衷就是让读者能够尽快运行代码并解决面临的实际问题。

小结

本章介绍了本书要解决的问题以及构建预测模型的处理流程。本书关注两类算法族。限定介绍的算法的数量,可以让我们更透彻地解释这些算法的背景知识以及这些算法的运行机理。本章通过性能对比说明了为什么选择这两类算法。讨论了这两类算法族的特性和各自的优势,并且详细描述了各自适合解决的问题。

本章还介绍了构建一个预测模型的步骤,每个步骤的各种选择的权衡,对输出结果的考虑。非模型训练时使用的数据可以用来评估预测模型。

本书的目的是使机器学习知之甚少的程序员通过本书的学习,能够胜任将机器学习技术引入项目的工作。本书并不关注大量的算法。相反,只关注当前一流的算法,这些算法可以满足对性能、灵活性和清晰的要求。一旦了解它们是怎么工作的,并且拥有了使用它们的一些经验,就会发现它们很容易上手。这些算法可以解决广泛的问题,而不需要先做大量的训练,这也帮助读者理解这些算法高性能的原因。

图书网:Python机器学习 预测分析核心算法pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • 小鱼儿
      小鱼儿 9

      优秀的书,值得参考