Порог, используемый при прогнозировании - PullRequest
2 голосов
/ 11 декабря 2019

Согласно документации H2O, порог, используемый при прогнозировании, является максимальным порогом F1 от поезда. Функция производительности

h2o.performance(model, newdata = test)

фактически выполняет прогнозирование для набора тестов, чтобы вычислить матрицу путаницы.

Странно, но я получаю другую матрицу путаницы при прогнозировании того же набора тестов, используя:

h2o.predict(object, newdata=test).

Это означает, что h2o.performance() использует пороговое значение, отличное от h2o.predict(). Мне интересно, как я могу диктовать порог при предсказании.

1 Ответ

1 голос
/ 17 декабря 2019

H2O использует максимальный порог F1 для h2o.performance () и h2o.predict (). Разница в том, что набор данных будет использоваться для оценки максимального порога F1.


h2o.predict () будет использовать порог, выбранный во время тренировки. Используются разные максимальные пороги F1 в зависимости от того, как была обучена модель. В основном:

  • Если у вас есть только тренировочные данные - максимальный порог F1 берется из модели данных поезда.
  • Если во время обучения есть данные проверки - максимальный порог F1 получается измодель данных проверки.

Это объясняется в документации , а также stackoverflow . В зависимости от того, были ли у вас данные проверки во время обучения, вы увидите максимальный порог F1, который будет определяться вашим обучением или проверкой набором данных.

h2o.performance () возьмет модель и новые данные и вычислит, какой порог даст наибольшее значение F1 для новых данных . В вашем случае test используется для расчета максимального порога F1.

...