Случайные лесные пропущенные значения в тех случаях, когда переменные не применяются - PullRequest
0 голосов
/ 13 ноября 2018

НЕКОТОРЫЙ ФОН

Я работаю над учебным регрессором Random Forest для прогнозирования урожайности сельскохозяйственных культур.Некоторые из моих переменных-предикторов применимы только к некоторым случаям, например, у меня есть переменная, обозначающая количество рядов, которая применяется только к культурам, выращенным в политоннели.Если культуры выращиваются в теплице, количество рядов не применяется, поэтому оно остается нулевым значением.У меня также есть другая переменная, которая обозначает, выращивается ли урожай под политуннелем или теплицей.

ПРОБЛЕМА

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

1 Ответ

0 голосов
/ 14 ноября 2018

Лучший способ решить эту проблему - придать этим случаям особое значение.

Пример объявления, если для многотоннельных культур число рядов колеблется в [0,100], для всех образцов в теплице вы дадите -1.

То, что вы должны иметь, это то, что дерево будет использовать переменную polutunnel / galsshouse для разделения данных. Затем данные в политуннеле будут оцениваться в соответствии с количеством рядов, в то время как количество рядов будет игнорироваться в теплице, поскольку является постоянным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...