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