xgboost.XGBRegressor

①n_estimators

默认100,集成中弱评估器的数量

②subsample

默认1,随机抽样的时候抽取的样本比例,范围(0,1]

对模型的影响应该会非常不稳定,大概率是无法提升模型的泛化能力,但也不发提升模型的可能性

③eta

集成中的学习率,又称为步长,以控制迭代速率,常用于防止过拟合,取值范围[0,1]

④booster

用来控制我们究竟使用怎样的弱评估器。可以输入gbtree,gblinear或dart

gbtree代表梯度提升树

gblinear使用线性模型

dart是dropouts meet multiple additive regression trees,抛弃提升树,在建树的过程中会抛弃一部分树,比梯度提升树有更好的防过拟合功能

⑤objective

reg:linear:使用线性回归的损失函数,均方误差,回归时使用

binary:logistic :使用逻辑回归的损失函数,对数损失log_loss,二分类时使用

multi:softmax:使用softmax损失函数,多分类时使用

⑥alpha,lambda

alpha:L1正则项的参数,默认0

lambda:L2正则项的参数,默认1

⑦gamma

复杂度的惩罚项,默认0,让树停止生长,gamma是对梯度提升树影响最大的参数之一,其效果丝毫不逊色于n_estimators和防止过拟合的神器max_depth

12-08 06:37