classxgboost.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)boostergbtree树模型做为基分类器(默认)gbliner线性模型做为基分类器n_jobs并行线程数silentsilent=0时,不输出中间过程(默认)silent=1时,输出中间过程nthreadnthread=-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惩罚项系数,指定节点分裂所需的最小损失函数下降值。调参:
alphaL1正则化系数,默认为1
lambdaL2正则化系数,默认为1
代码:
[0] validation_0-logloss:0.60491[1] validation_0-logloss:0.55934[2] validation_0-logloss:0.53068[3] validation_0-logloss:0.51795[4] validation_0-logloss:0.51153[5] validation_0-logloss:0.50934[6] validation_0-logloss:0.50818[7] validation_0-logloss:0.51097[8] validation_0-logloss:0.51760[9] validation_0-logloss:0.51912[10] validation_0-logloss:0.52503[11] validation_0-logloss:0.52697[12] validation_0-logloss:0.53335[13] validation_0-logloss:0.53905[14] validation_0-logloss:0.54545[15] validation_0-logloss:0.54613Accuracy:74.41%