Xgboost。从最佳迭代中获得助推器

时间:2018-03-30 09:16:42

标签: python machine-learning xgboost

我正在使用Xgboost.train来训练我的模型;但是,我不知道如何从最佳迭代中获得助推器而不是从最后一次迭代中获得助推器。

    xgb1=xgb.train(self.params,xgtrain,num_boost_round=self.num_boost_round,early_stopping_rounds=self.early_stopping_rounds,evals=watchlist)
    print xgb1.best_score
    print xgb1.best_iteration
    print xgb1.best_ntree_limit

1 个答案:

答案 0 :(得分:0)

您可以在模型中进行预测时设置此项:

preds = xgb1.predict(testset, ntree_limit=xgb1.best_iteration)

或者使用param early_stopping_rounds,保证您可以获得最佳树附近的树。但要小心这个参数,因为评估值可以是局部最小值或最大值(取决于评估函数)。

你也可以在这里看到:https://github.com/dmlc/xgboost/issues/264