xgboost.XGBClassifier 分类算法 调参参数详解
class xgboost.XGBClassifier(max_depth=3, learning_rate=0.1,
n_estimators=100, silent=True,
objective='binary:logistic',
booster='gbtree', n_jobs=1, nthread=None,
gamma=0,min_child_weight=1,
max_delta_step=0, subsample=1,
colsample_bytree=1, colsample_bylevel=1,
reg_alpha=0, reg_lambda=1, scale_pos_weight=1,
base_score=0.5, random_state=0,
seed=None, missing=None, **kwargs)
booster
gbtree 树模型做为基分类器(默认)
gbliner 线性模型做为基分类器
n_jobs 并行线程数
silent
silent=0时,不输出中间过程(默认)
silent=1时,输出中间过程
nthread
nthread=-1时,使用全部CPU进行并行运算(默认)
nthread=1时,使用1个CPU进行运算。
scale_pos_weight
正样本的权重,在二分类任务中,当正负样本比例失衡时,设置正样本的权重,模型效果更好。例如,当正负样本比例为1:10时,scale_pos_weight=10。
n_estimatores
含义:总共迭代的次数,即决策树的个数
调参:
max_depth
含义:树的深度,默认值为6,典型值3-10。
调参:值越大,越容易过拟合;值越小,越容易欠拟合。
min_child_weight
含义:默认值为1,。
调参:值越大,越容易欠拟合;值越小,越容易过拟合(值较大时,避免模型学习到局部的特殊样本)。
subsample
含义:训练每棵树时,使用的数据占全部训练集的比例。默认值为1,典型值为0.5-1。
调参:防止overfitting。
colsample_bytree
含义:训练每棵树时,使用的特征占全部特征的比例。默认值为1,典型值为0.5-1。
调参:防止overfitting。
learning_rate
含义:学习率,控制每次迭代更新权重时的步长,默认0.3。
调参:值越小,训练越慢。
典型值为0.01-0.2。
gamma
惩罚项系数,指定节点分裂所需的最小损失函数下降值。这个参数值越大,算法越保守。
alpha
L1正则化系数,默认为1,越大模型越保守。
lambda
L2正则化系数,默认为1,越大模型越保守。
资源来自网络,仅作为个人学习笔记,联系删