独家 | XGBoost介绍:用监督学习来预测期望寿命

2024-04-13 23:38

本文主要是介绍独家 | XGBoost介绍:用监督学习来预测期望寿命,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=png

作者:Luciano Strika

翻译:吴振东

校对:车前子

本文约4000字,建议阅读14分钟。

本文将介绍XGBoost的定义,并利用这一模型对人类指数官方数据集进行回归预测。

640?wx_fmt=png

一座漂亮的森林,是如此的随机!来源:Pixabay

 

今天我们将会用XGBoost提升树对人类发展指数官方数据集进行回归预测。XGBoost是一种可以使用提升树进行多核并行训练的框架。今天我们将用XGBoost提升树对人类发展指数官方数据集进行回归预测。谁说监督学习全都是针对分类问题的?


XGBoost:是什么?


XGBoost是一种Python框架,它可以让我们使用提升树进行多核并行训练。在R语言中同样可以使用XGBoost,但在这里我们不多做介绍。


任务:回归


提升树是一种针对回归的机器学习模型。这意味着给模型输入集和数值标签,模型可以估计出一个函数使所输出的标签与输入相匹配。与分类问题不同,我们这里所关心的标签是连续值,而不是一组离散的类别值。


举个例子,我们已知一个人的体重和年龄,想预测他的身高,而不是将ta划分为男性、女性或其他类别。


对于每棵决策树,我们都是从根节点开始,然后根据判断结果分配到左边或右边子节点。最终,我们可以到达叶节点并返回这个叶节点中的值。


XGBoost模型:什么是梯度提升树?


提升树和随机森林很相似:他们都是决策树的融合。不管怎样,每个叶节点会在我们的预测空间上返回一个数值(或是向量)。


针对每一个非叶节点的子节点,提升树都需要决定:在一个确定的特征值和一个临界值之间进行数值比较。


目前只是定义了一棵回归树。提升树和随机森林到底有什么区别呢?


提升树和随机森林:不同之处


训练一棵提升树与随机森林不同,每次增加一颗新树时我们都需要改变标签。


对于每颗新树,我们需要用原始标签值减去前面所有树的预测值之和与学习率的乘积,来更新标签。


这样一来,每棵树都可以通过更正前面所有树的错误来进行有效的学习。


因此,在预测阶段,我们只需要直接返回所有树的预测值之和,再乘以学习率就可以了。


这也意味着,与随机森林和打包决策树不同,如果我们随意增加树的数量,那么这个模型就会过拟合。我们现在将要学习如何来解释这个问题。


想要更多地了解提升树,我强烈建议你去阅读XGBoost的官方文档。我从中学到了很多东西,文档中有一些精美的图片可以解释其中的基础知识。

这篇关于独家 | XGBoost介绍:用监督学习来预测期望寿命的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901541

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数