Как добиться того, чтобы ранняя остановка происходила с использованием Spark xgboost4j? - PullRequest
0 голосов
/ 23 ноября 2018

Я использую 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 здесь может быть лучшим числом раундов для обучения модели, но я понятия не имею, какизвлеките эту переменную.

Большое вам спасибо.

...