Деревья решений и регрессия - Могут ли прогнозируемые значения выходить за пределы диапазона данных обучения?


11

Когда речь идет о деревьях решений, может ли прогнозируемое значение лежать вне диапазона обучающих данных?

Например, если диапазон набора обучающих данных целевой переменной составляет 0-100, когда я генерирую свою модель и применяю ее к чему-то другому, могут ли мои значения быть -5? или 150?

Учитывая, что я понимаю регрессию дерева решений, это то, что это все еще основано на правилах - прогрессия влево / вправо и что в нижней части дерева в обучающем наборе он никогда не сможет увидеть значение за пределами определенного диапазона, он никогда не сможет предсказать это?


1
По аналогичному вопросу о деревьях с градиентным усилением см. Stats.stackexchange.com/questions/304962/…
Адриан,

Ответы:


10

Вы совершенно правы: классические деревья решений не могут предсказать значения за пределами исторически наблюдаемого диапазона. Они не будут экстраполировать.

То же относится и к случайным лесам.

Теоретически, вы иногда видите дискуссии о несколько более сложных архитектурах (ботаниках?), Где листья дерева не дают единственного значения , но содержат простую регрессию , например, регрессию зависимой переменной на конкретную числовую независимую переменную. Навигация по дереву дала бы вам набор правил, по которому числовая IV должна регрессировать в каком случае. В таком случае эту регрессию «нижнего уровня» можно экстраполировать, чтобы получить еще не наблюдаемые значения.

Тем не менее, я не думаю, что стандартные библиотеки машинного обучения предлагают эту несколько более сложную структуру (я недавно искал это в CRAN Task Views для R), хотя в этом не должно быть ничего сложного. Возможно, вы сможете реализовать свое собственное дерево, содержащее регрессии в листьях.


1
Я редко читал о mobForest, который поддерживает регрессию листьев в R, stats.stackexchange.com/questions/48475/mobforest-r-package
Сорен Хавелунд Веллинг,

1
@SorenHavelundWelling: это звучит интересно. Спасибо за указатель!
Стефан Коласса

1
Одним из первых алгоритмов, обеспечивающих модели линейной регрессии в листьях дерева, был M5 Куинлана, аппроксимация которого доступна в M5P () в Weka (сопряжено с R через RWeka). Беспристрастный алгоритм для этой проблемы, называемый GUIDE, был впервые предложен Ло. Двоичные файлы для его автономного пакета находятся на его сайте. Наконец, наш алгоритм рекурсивного разделения на основе моделей (MOB) охватывает различные такие модели. Он доступен в пакете partykit R: mob () - универсальный инструмент, а lmtree () и glmtree () - его адаптация к деревьям с (обобщенными) линейными моделями в листьях.
Ахим Цейлейс

2
@SorenHavelundWelling: к сожалению, пакет был удален из CRAN . Я посмотрю на пакет, который рекомендовал Ахим Цейлис . mobForestpartykit
Стефан Коласса

1
Просто напомнить, что mobForest вернулся на CRAN: cran.r-project.org/web/packages/mobForest/index.html
mkt - Восстановить Монику

6

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.