首页 > 其他分享 >万字总结XGBoost原理、核心参数以及调优思路(下篇)

万字总结XGBoost原理、核心参数以及调优思路(下篇)

时间:2024-07-14 09:26:55浏览次数:16  
标签:xgboost 下篇 调参 XGBoost 调优 参数 优化

万字总结XGBoost原理、核心参数以及调优思路(下篇)

在数据科学领域,XGBoost以其卓越的性能和灵活性,成为了众多机器学习算法中的佼佼者。作为一种梯度提升框架,XGBoost通过构建决策树的集合来最小化一个可微分的损失函数,广泛应用于分类、回归等任务。本文将万字总结XGBoost的深层原理、关键核心参数,以及实用的调优策略。从算法基础到模型部署,我们将深入探讨XGBoost的每一个环节,为读者提供全面的指导和深入的洞见。无论您是希望提升模型性能的数据科学家,还是对XGBoost感兴趣的学习者,本文都将是您理解和掌握这一强大工具的宝贵资源。让我们启程,深入探索XGBoost的奥秘。

本篇是关于xgboost的下篇,将侧重xgboost模型的优化,xgboost各类参数详解见上篇:
万字总结XGBoost原理、核心参数以及调优思路(上篇)

文章目录


三、XGBoost的参数空间与超参数优化

1 确定XGBoost优化的参数空间

与之前介绍过的随机森林、gbdt一样,对xgboost的调参同样可以分为两步,首先确定不同参数对模型的影响力大小,确定调参范围,然后对待调参的参数进行进一步探索,初步确定有效的调参空间,再行调参

在这里插入图片描述
注意:

  • 在随机森林中影响力巨大的max_depth在XGBoost中默认值为6,比GBDT中的调参空间略大(GBDT中默认为3),但还是没有太多的空间,因此影响力不足,并且max_depth很多时候都是往大了调。
  • 在GBDT中影响力巨大的max_features对标XGBoost中的colsample_by*系列参数,原则上来说影响力应该非常大,但由于三个参数共同作用,调参难度较高,在只有1个参数作用时效果略逊于max_features。
  • 精剪枝参数往往不会对模型有太大的影响,但在XGBoost当中,min_child_weight与结构分数的计算略微相关,因此有时候会展现出较大的影响力。故而将这个精剪枝参数设置为4星参数。
  • 类似于objective这样影响整体学习能力的参数一般都有较大的影响力,但XGBoost当中每种任务可选的损失函数不多,因此一般损失函数不在调参范围之内,故认为该参数的影响力不明显。
  • XGBoost的初始化分数只能是数字,因此当迭代次数足够多、数据量足够大时,起点的影响会越来越小。因此一般不会对base_score进行调参。

调参时的参数选择(重点!!!)

  • num_boost_round和eta,重点中的重点,必须调。

  • colsample_by*中选一个调,一般选bytree的多,非要选两个就再选一个bynode(一般不会同时选两个,过于随机会造成模型不稳定,严重影响整体模型的学习能力),gamma和lambda选一个调,一般选lambda。(搜索的时候如果gamma进行搜索了,lambda和min_child_weight最好也进行搜索)

  • booster一般不调,如果出现验证过拟合情况了,可以考虑使用。

  • min_child_weight和max_depth一般要参与调。

  • 数据量很大的时候subsamples也要调,一般可以不用调,调得话最好也是0.5以上,样本太少建模不稳定。

  • 计算资源足够的时候可以都调。

待调参参数参数空间的确定:
欢迎关注公众号:待调参参数参数空间的确定

2 使用贝叶斯优化(TPE)对xgboost进行模型优化

xgboost模型调优流程以及代码实现


总结

欢迎关注我的公众号~

标签:xgboost,下篇,调参,XGBoost,调优,参数,优化
From: https://blog.csdn.net/LUyan10086/article/details/140377730

相关文章

  • 【视频讲解】Python比赛LightGBM、XGBoost+GPU和CatBoost预测学生在游戏学习过程表现|
    全文链接:https://tecdat.cn/?p=36990原文出处:拓端数据部落公众号分析师:QiZhang背景基于游戏进行学习能让学校变得有趣,这种教育方法能让学生在游戏中学习,使其变得有趣和充满活力。尽管基于游戏的学习正在越来越多的教育环境中使用,但能用应用数据科学和学习分析原理来......
  • SpinalHDL之实用工具(下篇)
    本文作为SpinalHDL学习笔记第十四篇,记录使用SpinalHDL的一些实用性语法工具。SpinalHDL学习笔记总纲链接如下:SpinalHDL学习笔记_spinalhdlblackbox-CSDN博客目录:6.存根(Stub)7.Assertions8.Report9.ScopeProperty6.存根(Stub)可以将组件层次结构清空作为一个存根(st......
  • SpinalHDL之错误修复(下篇)
    此箫非彼箫,不竹不丝不石。肉音别自唔咿。流苏瑟瑟纱垂,辨不出宫商角徵。一点樱桃欲绽,纤纤十指频移。课吞添吐两情痴,不觉悟灵犀味美推荐小说《回到明朝当王爷》,也有动漫,但小说改国漫通病,小说中杀伐果断人设极好的男主,到了动漫里就变成犹犹豫豫优柔寡断的废材,参见《元龙》。......
  • Linux 系统调优之安全防护1
    文章目录前言1、系统命令审计2、公网防护3、服务器使用秘钥登录4、默认账户及口令文件的防护5、其他配置总结前言  Linux系统以其开放性和强大的功能成为众多企业和开发者的首选。然而,开放性也带来了安全风险。本文将探讨Linux系统调优中的安全防护策略,分享并......
  • Linux 系统调优之安全防护2
    文章目录1、限制NFS访问2、禁止icmp报文响应3、更改ssh访问端口4、添加GRUB菜单密码5、用户系统资源限制总结  大家好,我是技术界的小萌新,今天要和大家分享一些干货。在阅读之前请先点赞......
  • Nginx性能调优5招35式不可不知的策略实战
    Nginx是一个高性能的HTTP和反向代理服务器,它在全球范围内被广泛使用,因其高性能、稳定性、丰富的功能以及低资源消耗而受到青睐。今天V哥从5个方面来介绍Nginx性能调优的具体策略,希望对兄弟们有帮助,废话不多说,马上开整。1.系统层面:调整内核参数:例如,增加系统文件描述符的......
  • Nginx性能调优5招35式不可不知的策略实战
    Nginx是一个高性能的HTTP和反向代理服务器,它在全球范围内被广泛使用,因其高性能、稳定性、丰富的功能以及低资源消耗而受到青睐。今天V哥从5个方面来介绍Nginx性能调优的具体策略,希望对兄弟们有帮助,废话不多说,马上开整。1.系统层面:调整内核参数:例如,增加系统文件描述符的限制......
  • 在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
    在Linux中,内核调优涉及到对系统内核的各种参数进行优化,以适应不同的工作负载和场景。这些参数主要存储在两个地方:一个是运行时动态可调的/proc/sys目录下的文件,另一个是持久化的配置文件/etc/sysctl.conf。1.内核调优配置文件/etc/sysctl.conf:这是最常用的内核参数配置文件,用......
  • Java虚拟机(JVM):深入理解与性能调优
    引言Java虚拟机(JVM)是Java平台的核心组件,它使得Java程序具有跨平台运行的能力。JVM不仅负责执行Java字节码,还管理着内存分配、垃圾回收等关键任务。深入理解JVM的工作原理对于进行有效的性能调优至关重要。本文将详细介绍JVM的工作原理,包括内存模型、垃圾回收机制,并分享一些实......
  • 【Linux系列】Linux 性能调优工具的 9 张图
    性能观察工具静态性能工具性能压测工具性能调优工具sarperf-tools追踪工具BPF性能工具......