Можете ли вы помочь мне понять параметр weights_column в модели GLM, например, в H2o? - PullRequest
0 голосов
/ 12 июня 2018

Я хотел бы представить немного предвзятости.У меня есть n-risk factors (предсказатели), но на основании собранных мной доказательств!Я считаю один из Risk factors более актуальным, чем другие.Существует параметр weights_column (см. описание ), но мне не ясно, как его использовать и можно ли его использовать для моих целей.

Состояния документации (версия 3.20.0.1):

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

Я не знаю, подходит ли он для моих целей.У меня есть следующие вопросы / комментарии, которые помогут мне понять, как его использовать, а также улучшить документацию в следующей версии:

  1. "Веса указаны на строкунаблюдение ", я ожидал по столбцу (мы определяем вес в конкретном столбце).Мне кажется, что алгоритм добавляет фиктивные строки, но затем он говорит, что не увеличивает количество строк. i) Какова логика добавления таких фиктивных строк? (Это копия другой строки или модифицированной строки, если да, то как она модифицируется?)

  2. "Из-за большего фактора функции потерь" : ii) Что это означает в этом контексте?ii) Это относится только к метрике loss-function?iv) Что является предварительным фактором?

  3. v) Можно ли указать более одного столбца? Имя параметра указано во множественном числе, нопример и документация, похоже, ссылаются только на один столбец.

Тогда следующий абзац говорит: «Например, вес 2 идентичен дублированию строки», но пользователь может указать только имя столбца. vi) Можем ли мы указать номер весового коэффициента?

Пример, приведенный в документации, не проясняет цель использования такого параметра в зависимости от характера проблемы, и нет сравнения того, какНа результат может повлиять использование такого параметра. vii) Каково в этом случае обоснование для установки этого параметра со столбцом weight?

Например, при запуске сценария с установкой * 1052 и без нее мы получим:

[1] "AUC with weights_column"
[1] 0.9645522
[1] "AUC without weights_column"
[1] 0.9803922

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

1 Ответ

0 голосов
/ 15 июня 2018

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

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

Важным моментом здесь является то, что это взвешивание образца (и всех его характеристик), а не отдельного признака во всех образцах.

Для вашего случая использования, если у вас достаточно обучающих данных, вполне вероятно, что соответствующий алгоритм (GBM / RF) будет использовать функцию, которую вы считаете важной.Если это не так, это может указывать на то, что определенная вами функция не так важна, как вы думали раньше, или сильно коррелирует с другой функцией.

Если вы все еще хотите повысить функциональность, тогда используйте хакерский подход.к этому следует добавить несколько фиктивных переменных во фрейм данных для одной и той же функции.

...