Jak należy wdrożyć podział drzewa decyzyjnego podczas przewidywania zmiennych ciągłych?


15

Właściwie piszę implementację Losowych Lasów, ale uważam, że pytanie dotyczy drzew decyzyjnych (niezależnych od RF).

Zatem kontekst polega na tym, że tworzę węzeł w drzewie decyzyjnym, a zmienne predykcyjne i docelowe są ciągłe. Węzeł ma podzielony próg podziału danych na dwa zestawy i tworzę nową prognozę dla każdego podzbioru na podstawie średniej wartości docelowej w każdym zestawie. Czy to jest właściwe podejście?

Powód, dla którego pytam, jest taki, że przewidując zmienne binarne , uważam, że typowym (poprawnym?) Podejściem jest podzielenie danych na podzbiory 0 i 1 bez przyjmowania średniej z wierszy danych w każdym podzbiorze. Kolejne podziały zostaną podzielone na podzbiory drobnoziarniste, a biorąc pod uwagę średnią przy każdym wyniku podziału, kolejne podziały (niżej w drzewie decyzyjnym) działają na zmiennych, które są teraz ciągłymi, a nie zmiennymi binarnymi (ponieważ operujemy na wartościach błędów resztkowych zamiast pierwotnych cele).

Pytanie poboczne: Czy rozróżnienie między dwoma podejściami (binarne i ciągłe) jest znaczące - czy faktycznie dadzą identyczne wyniki dla pełnego drzewa decyzyjnego?


1
Podział na ciągłą zmienną sprawi, że wynikowy „model” nie będzie pasował do danych. Jeśli masz jeden ciągły X i jeden ciągły Y, rozważ użycie mniejszej nieparametrycznej wygładzarki.
Frank Harrell,

Problem, nad którym teraz pracuję, zawiera wiele zmiennych predykcyjnych (połączenie ciągłego i binarnego) i jedną zmienną docelową. Dlatego uważam, że RF jest rozsądnym podejściem.
redcalx

2
Bardzo prawdopodobne, że tak. Ale losowy las jest mieszanką drzew (nie jest drzewem decyzyjnym), więc przybliża ciągłe relacje, tworząc wiele podziałów, a w efekcie kurcząc się. Więc nie sądzę, żeby twoje pierwotne pytanie miało zastosowanie, jeśli je rozumiem.
Frank Harrell

Kusi mnie, aby powiedzieć, że opis ciągłego przypadku jest prawidłowe (czyli standardowy sposób robienia rzeczy), ale wówczas opis przypadku zmiennej binarnej nie zgadza się w ogóle z mojego zrozumienia jak lasy losowe (lub decyzji drzewa) działają, więc martwię się, że jedno z nas jest zdezorientowane.
joran

@joran. Tak, zmuszając prognozy do 0 lub 1, tracisz zdolność dokonywania subtelnych korekt prognoz (od 0 do 1), które mogą obniżyć błąd (np. Średni błąd prognozowania do kwadratu). Podejrzewam, że takie podejście jest gorsze. Próbowałem i większość prób zbudowania drzewa decyzyjnego nie znalazła nawet jednego podziału, który poprawiłby błąd.
redcalx

Odpowiedzi:


10

Jednym z potencjalnych problemów z drzewami jest to, że mają tendencję do słabego dopasowania do ogonów. Pomyśl o terminalnym węźle, który przechwytuje niski zakres zestawu treningowego. Będzie przewidywał za pomocą średniej z tych punktów treningowych, które zawsze będą zaniżać wynik (ponieważ jest to średnia).

Możesz wypróbować drzewa modelowe [1]. Będą pasować do modeli liniowych w węzłach końcowych i (myślę) wykonują lepszą pracę niż drzewa regresji. Jeszcze lepiej, użyj bardziej rozwiniętej wersji o nazwie Cubist, która łączy różne podejścia ([1] i [2] poniżej).

Modele te różnie obsługują predyktory ciągłe i dyskretne. Mogą wykonywać podział na wiele sposobów dla zmiennych kategorialnych. Kryterium podziału jest bardzo podobne do drzew CART.

Drzewa modelowe można znaleźć w R w pakiecie RWeka (zwanym „M5P”), a Cubist w pakiecie Cubist. Oczywiście możesz również używać Weka, a Cubist ma wersję C dostępną na stronie RuleQuest.

[1] Quinlan, J. (1992). Nauka z ciągłymi zajęciami. Materiały z 5. australijskiej wspólnej konferencji na temat sztucznej inteligencji, 343–348.

[2] Quinlan, J. (1993). Łączenie uczenia się opartego na instancjach i modelu. Materiały z dziesiątej międzynarodowej konferencji na temat uczenia maszynowego, 236–243.


1
Czy nie możesz mieć głębszych drzew, aby zminimalizować słabe dopasowanie do ogonów?
Jase
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.