Xgboost回归四种调参方法及Python简单实现

前言

Xgboost对特征工程和数据处理比较友好,相比之下调参成为用好Xgboost重要的一环,本文分别从参数、调参方法、Python实现的维度进行梳理,作为调参思路的记录。

本文将关注以下几个问题:

1.Xgboost哪些参数需要调参?

2.通用的调参方法有哪些 ?  如何实现?

Xgboost哪些参数需要调参?

下表列出了 xgboost 0.90版本下   xgboost.sklearn   中 XGBBaseModel 的所有输入参数;根据对全部31个参数功能的初步了解并参考了其他博文(包括XGBoost调参笔记_浅笑古今的博客-CSDN博客_xgboost调参https://segmentfault.com/a/1190000014040317等),初步对xgboost 实践中各参数调参重要性进行了排序,详见rank列;其中3>2>1。需要说明的是,这种调参重要性的划分只是提供一种参考,仍需要根据具体问题具体分析。(TODO:其中有些None值和空值还需要完善

参数名 简说明 范围 默认 典型值 rank 说明
n_estimators 学习器的数量 int 100 100~500 3 基本学习器的数量
max_depth 树深度 0,∞ 3 3~10 3 每个基本学习器树的最大深度,值越大数越复杂
learning_rate 学习率 [0,1] 0.1 0.01~0.2 3 每次迭代更新权重时的步长。值越小,训练的越慢。
gamma 损失减少阈值 0,∞ 0 None 3 分裂节点时,损失函数减小值只有大于等于gamma节点才分裂,gamma值越大,算法越保守
reg_alpha L1正则化 float 0 None 3 增加该值会让模型更加收敛
reg_lambda L2正则化 float 1 None 3 控制XGBoost的正则化部分的,可以减少过拟合
min_child_weight
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值