XG增压CV和提前停车

2024-09-27 04:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用XGBoost.cv根据mlogloss提前停止:

params = {'booster': 'gbtree', 'objective': 'multi:softprob',
          'num_class': len(le.classes_), 'eta': 0.1,
          'max_depth': 10, 'subsample': 1.0,
          'scale_pos_weight': 1, 'min_child_weight': 5,
          'colsample_bytree': 0.2, 'gamma': 0, 'reg_alpha': 0,
          'reg_lambda': 1, 'eval_metric': 'mlogloss'}

res = xgb.cv(params, dm_train, nfold=5,
        seed=42, early_stopping_rounds=10, verbose_eval=True,
        metrics={'mlogloss'}, show_stdv=False)

print(res)

我对提前停止的理解是,如果我的评估指标在n轮(在本例中为10轮)内没有改善,那么运行将终止。当我运行此代码时,它将在10轮后终止,并打印输出:

^{pr2}$

测试mlogloss随着每个历元的增加而下降,因此,我希望运行不会终止(因为精度必须提高)。我哪里出错了?在

谢谢。在


Tags: evalresparamsregmultinumcvclass

热门问题