вопросы о случайной калибровке вероятности леса в воде - PullRequest
0 голосов
/ 01 мая 2019

Я читаю пример калибровки вероятностей из H2O документации http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/calibrate_model.html

Поскольку пример плохо объяснен, мой вопрос:

  1. должны ли мы иметь веса (weights_column) в тренировочном наборе?
  2. если да, то что делают эти веса?

Я также пытался опустить вес. Код все еще выполняется, но результаты очень разные. Любое понимание будет оценено

1 Ответ

0 голосов
/ 01 мая 2019

Если вас интересует, как работает колонка весов в H2O-3, вы можете просмотреть документацию здесь и примеры кода здесь .

Для вашего удобства я включил копию этого документа:

weights_column

Доступно в: GBM, DRF, Deep Learning, GLM, AutoML, XGBoost, CoxPH Гиперпараметр: нет

Описание

Этот параметр указывает столбец в тренировочной рамке, который будет использоваться при определении весов. Веса являются весами наблюдений для каждой строки и не увеличивают размер фрейма данных. Обычно это число повторений строки, но также поддерживаются нецелые значения. Во время тренировок ряды с большим весом имеют большее значение из-за большего фактора функции потерь.

Для оценки все вычисленные метрики будут учитывать веса наблюдений (для коэффициентов усиления / подъема, AUC, матриц путаницы, потерь в журнале и т. Д.), Поэтому важно также предоставить столбец весов для валидации или тестовых наборов, если вы хотите для увеличения / уменьшения веса определенных наблюдений (в идеале, между тренировкой и тестированием). Обратите внимание, что если вы опустите весовые коэффициенты, то все наблюдения будут иметь одинаковые весовые коэффициенты (равные 1) для вычисления метрик. Например, вес 2 идентичен дублированию строки.

Примечания:

Веса могут быть указаны как целые числа или как нецелые числа. Столбец весов не может совпадать с столбцом fold_column. Если столбец весов указан как элемент (предиктор) и вес, столбец будет использоваться только для весов. Примеры скриптов модульного тестирования доступны на GitHub: https://github.com/h2oai/h2o-3/blob/master/h2o-py/tests/testdir_algos/gbm/pyunit_weights_gbm.py https://github.com/h2oai/h2o-3/blob/master/h2o-py/tests/testdir_algos/gbm/pyunit_weights_gamma_gbm.py

веса наблюдений в глубоком обучении

Веса наблюдений обрабатываются в Deep Learning иначе, чем в других поддерживаемых алгоритмах. Для алгоритмов, отличных от Deep Learning, вес напрямую относится к математике разделения и предсказания конечных узлов. Для глубокого обучения это сложнее. Использование веса в качестве мультипликативного фактора в потере не будет работать в целом, и это будет не то же самое, что репликация той же строки. Кроме того, применение одной и той же строки снова и снова не является хорошей идеей, поэтому выборка во время тренировки все еще должна быть активной. Для решения этих проблем Deep Learning реализован с помощью выборки по важности с использованием обратной кумулятивной функции распределения. Он также включает в себя специальный случай, который выбирает случайный ряд из набора данных для каждого второго ряда, который он тренирует, просто чтобы сохранить выбросы в игре. Обратите внимание, что веса наблюдения для глубокого обучения, которые не равны 0 или 1, трудно обрабатывать должным образом В этом случае может быть лучше явно перепроверять, используя balance_classes = TRUE.

Связанные параметры

  • balance_classes
  • offset_column
  • у
...