十八、XGBoost、LightBGM调参
说明:这个总结拿出来是因为当时自己面试阿里的时候,遇到的第一个问题,感觉有必要单独列出来,总结一下。
XGBoost控制过拟合:
当你观察到训练模型时,训练精度特别高,比如auc较大,但是测试精度很低,很可能是出现了过拟合问题。在xgb调中,一般有两种方式用于控制过拟合:
1、直接控制参数的复杂度
包括max_depth、min_child_weight(孩子节点最小权重和)、gamma(最小分裂损失)
2、add randomness( 添加随机性)来使得对训练对噪声鲁棒。
包括subsample(二次抽样)、colsample_bytree(分裂时,在每个水平层次上,对列的采样比例),或者也可以减小步长 eta,但是需要增加num_round,来平衡步长因子的减小。
LGB是调参:
参数 | 含义 |
num_leaves | 取值应<=2^(max_depth),超过此值会造成过拟合 |
min_data_in_leaf | 将它设置为较大的值可以避免生长太深的树,但可能会造成underfitting,在大型数据集时就设置为数百或者数千 |
max_depth | 可以限制树的深度 |