yw172716

2020-10-20   阅读量: 616

xgboost的使用调参

扫码加入数据分析学习群

clf = XGBClassifier( learning_rate =0.1, #默认0.3 n_estimators=1000, #树的个数 max_depth=5, min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8, objective= 'binary:logistic', #逻辑回归损失函数 nthread=4, #cpu线程数 scale_pos_weight=1, seed=27) #随机种子 clf.fit(X_train, y_train) y_pre= clf.predict(X_test) y_pro= clf.predict_proba(X_test)[:,1]


参数说明

1. max_depth = 5 :#这个值为树的最大深度。这个值也是用来避免过拟合的。max_depth越大,模型会学到更具体更局部的样本。 需要使用CV函数来进行调优。典型值:3-10 2. min_child_weight = 1:#决定最小叶子节点样本权重和。XGBoost的这个参数是最小样本权重的和,这个参数用于避免过拟合。当它的值较大时,可以避免模型学习到局部的特殊样本。但是如果这个值过高,会导致欠拟合。这个参数需要使用CV来调整。 3. gamma = 0:#在节点分裂时,只有分裂后损失函数的值下降了,才会分裂这个节点。Gamma指定了节点分裂所需的最小损失函数下降值。这个参数的值越大,算法越保守。这个参数的值和损失函数息息相关,所以是需要调整的。 4. subsample:#这个参数控制对于每棵树,随机采样的比例。减小这个参数的值,算法会更加保守,避免过拟合。但是,如果这个值设置得过小,它可能会导致欠拟合。典型值:0.5-1。 5. colsample_bytree:#用来控制每棵随机采样的列数的占比(每一列是一个特征。典型值:0.5-1。 6. scale_pos_weight = 1:#在各类别样本十分不平衡时,把这个参数设定为一个正值,可以使算法更快收敛。

44.7581 4 0 关注作者 收藏

评论(0)


暂无数据

推荐课程