Drzewa decyzyjne i regresja - czy przewidywane wartości mogą znajdować się poza zakresem danych treningowych?

11

Czy w przypadku drzew decyzyjnych przewidywana wartość może leżeć poza zakresem danych szkoleniowych?

Na przykład, jeśli zakres zestawu danych treningowych zmiennej docelowej wynosi 0-100, to kiedy generuję mój model i stosuję go do czegoś innego, czy moje wartości mogą wynosić -5? lub 150?

Biorąc pod uwagę, że rozumiem regresję drzewa decyzyjnego, to że wciąż jest to reguła oparta na progresji - lewa / prawa i że na dole drzewa w zestawie treningowym nigdy nie zobaczy wartości poza określonym zakresem, nigdy nie będzie w stanie przewidzieć to?

użytkownik3788557
źródło
1
Podobne pytanie na temat drzew z podwyższonym gradientem można znaleźć na stronie stats.stackexchange.com/questions/304962/...
Adrian

Odpowiedzi:

11

Masz całkowitą rację: klasyczne drzewa decyzyjne nie mogą przewidzieć wartości poza historycznie obserwowanym zakresem. Nie będą ekstrapolować.

To samo dotyczy losowych lasów.

Teoretycznie czasem zdarzają się dyskusje o nieco bardziej skomplikowanych architekturach (botanach?), W których liście drzewa nie dają jednej wartości , ale zawierają prostą regresję , np. Regresję zmiennej zależnej od konkretnej zmiennej numerycznej niezależnej. Poruszanie się po drzewie dałoby ci zestaw reguł, na którym numerycznie IV można regresować DV, w którym to przypadku. W takim przypadku tę regresję „dolnego poziomu” można ekstrapolować, aby uzyskać wartości jeszcze nieobserwowane.

Jednak nie sądzę, aby standardowe biblioteki uczenia maszynowego oferowały tę nieco bardziej złożoną strukturę (ostatnio szukałem tego za pośrednictwem widoków zadań CRAN dla R), chociaż tak naprawdę nie powinno być w tym nic złożonego. Możliwe, że będziesz w stanie wdrożyć własne drzewo zawierające regresje w liściach.

Stephan Kolassa
źródło
1
Rzadko czytałem o mobForest, które wspierają regresję liści w R, stats.stackexchange.com/questions/48475/mobforest-r-package
Soren Havelund Welling
1
@SorenHavelundWelling: to brzmi interesująco. Dzięki za wskaźnik!
Stephan Kolassa
1
Jednym z pierwszych algorytmów dostarczających modele regresji liniowej w liściach drzewa był M5 Quinlana, którego przybliżenie jest dostępne w M5P () w Weka (interfejs w R przez RWeka). Bezstronny algorytm problemu, zwany GUIDE, został po raz pierwszy zasugerowany przez Loh. Pliki binarne dla jego samodzielnego pakietu znajdują się na jego stronie internetowej. Nasz algorytm partycjonowania rekurencyjnego oparty na modelu (MOB) obejmuje różne takie modele. Jest dostępny w pakiecie R partykit: mob () jest narzędziem ogólnym, a lmtree () i glmtree () są jego adaptacją do drzew z (uogólnionymi) liniowymi modelami w liściach.
Achim Zeileis
2
@SorenHavelundWelling: niestety pakiet został usunięty z CRAN . Wezmę okiem na opakowaniu , że Achim Zeileis zalecany . mobForestpartykit
Stephan Kolassa
1
Tylko jedna wiadomość, że mobForest powraca na CRAN: cran.r-project.org/web/packages/mobForest/index.html
mkt - Przywróć Monikę
7

Sprawdź także kubistę w pakiecie Caret. Buduje regresje liniowe w końcowych węzłach i może ekstrapolować przewidywania powyżej i poniżej zakresu wartości odpowiedzi w danych treningowych. Węzły końcowe można również uśrednić w oparciu o najbliższych sąsiadów, który jest podany jako hiperparametr, więc może on zapewnić wyjątkowo dokładne prognozy zwalidowane krzyżowo.

Scott Worland
źródło