XGBoost 与 LightGBM 调参

一、安装

xgboost:

安装包路径:https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost
找到合适的包,使用pip安装
如 pip install xgboost-0.81-cp27-cp27m-win_amd64.whl

lightgbm:

可直接通过 pip install lightgbm 安装

 

二、介绍

xgboost 与 lightgbm 均有原生模型及 仿sklearn 接口,两者均可以达到建模的目的,这里就不详细介绍。两者调用方法及参数设置都及其类似,仅在少数参数上略有不同。使用是只要会用其一,便可举一反三。至于原理上的东西,这里就不做赘述,可参考:XGBoost、LightGBM的详细对比介绍

 

三、调参

以下以xgboost为例,lightgbm除个别参数名字不同外,大体与之类似

步骤:

0、设置初始参数

给出一堆初始参数

best_params = {
    'learning_rate': 0.1,
    'n_estimators': 1000,
    'max_depth': 5,
    'min_child_weight': 1,
    'gamma': 0,
    'subsample': 0.8,
    'colsample_bytree': 0.8,
    'nthread': 4,
XGBoostLightGBM和CatBoost是三种常用的梯度提升树算法,它们在机器学习竞赛和实际应用中都取得了很好的效果。下面是它们的调参介绍: 1. XGBoost调参: - 学习率(learning rate):控制每次迭代中模型权重的更新步长,一般取值范围为[0,1],较小的学习率可以使模型更加稳定,但需要更多的迭代次数。 - 树的数量(n_estimators):决定了模型中树的个数,一般需要通过交叉验证来确定合适的值。 - 树的深度(max_depth):控制每棵树的最大深度,较大的深度可以提高模型的拟合能力,但也容易导致过拟合。 - 正则化参数(lambda、alpha):用于控制模型的复杂度,防止过拟合。 - 特征子采样比例(colsample_bytree):控制每棵树在训练时随机选择的特征比例,可以降低模型的方差。 2. LightGBM调参: - 学习率(learning_rate):同样控制每次迭代中模型权重的更新步长。 - 树的数量(num_iterations):决定了模型中树的个数。 - 树的深度(max_depth):控制每棵树的最大深度。 - 叶子节点数(num_leaves):控制每棵树的叶子节点数,较大的值可以提高模型的拟合能力,但也容易导致过拟合。 - 特征子采样比例(feature_fraction):控制每棵树在训练时随机选择的特征比例。 - 数据子采样比例(bagging_fraction):控制每次迭代时随机选择的训练数据比例。 3. CatBoost调参: - 学习率(learning_rate):同样控制每次迭代中模型权重的更新步长。 - 树的数量(iterations):决定了模型中树的个数。 - 树的深度(depth):控制每棵树的最大深度。 - 正则化参数(l2_leaf_reg):用于控制模型的复杂度,防止过拟合。 - 特征子采样比例(colsample_bylevel):控制每棵树在训练时随机选择的特征比例。 - 数据子采样比例(subsample):控制每次迭代时随机选择的训练数据比例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值