Я использую XGBoostRegressor, устанавливая два параметра num_early_stopping_rounds
и maximize_evaluation_metrics
.Есть ли какой-нибудь способ, которым я могу получить число, когда произойдет ранняя остановка?Как показано в исходном коде XGBoost.java
:
if (earlyStoppingRounds > 0) {
boolean onTrack = judgeIfTrainingOnTrack(params, earlyStoppingRounds, metrics, iter);
if (!onTrack) {
String reversedDirection = getReversedDirection(params);
Rabit.trackerPrint(String.format(
"early stopping after %d %s rounds", earlyStoppingRounds, reversedDirection));
break;
}
}
iter
здесь может быть лучшим числом раундов для обучения модели, но я понятия не имею, какизвлеките эту переменную.
Большое вам спасибо.