Minęło trochę czasu, odkąd spojrzałem na dzielenie drzew. Ostatnim razem, gdy robiłem takie rzeczy, lubię imprezę w R (stworzoną przez Hothorn). Idea wnioskowania warunkowego za pomocą próbkowania ma dla mnie sens. Ale rpart również miał apelację.
W obecnej aplikacji (nie mogę podać szczegółów, ale wiąże się to z próbą ustalenia, kto trafi do więzienia wśród dużej próby aresztowań) nie mogę korzystać z zaawansowanych metod, takich jak losowe lasy, workowanie, wzmacnianie itp. - Potrzebuję łatwego do wyjaśnienia reguła.
Chciałbym również mieć ręczną kontrolę nad tym, które węzły dzielą się, jak to zalecono w Zhang & Singer (2010) Recursive Partitioning and Applications . Freeware dołączone do tej książki pozwala na to, ale poza tym jest raczej prymitywne w swoim wkładzie użytkownika.
Wszelkie zalecenia lub sugestie?
źródło
[Uwaga: Zobacz aktualizację 1 poniżej.] Uważam, że metodologia
rpart
jest o wiele łatwiejsza do wyjaśnienia niżparty
. Ten ostatni jest jednak znacznie bardziej wyrafinowany i prawdopodobnie da lepsze modele. Czasami wyjaśniam,party
że mówię o tym jako o podstawie do tworzenia lokalnych modeli liniowych (lub GLM). Uzgadniam to, wskazując, że wyniki dlarpart
są stałe we wszystkich elementach, które wpadają do węzła liścia, tj. Ramka / region ograniczony podziałami. Nawet jeśli możliwe są ulepszenia za pomocą modeli lokalnych, nie otrzymujesz nic oprócz stałej prognozy.W przeciwieństwie,
party
rozwija podziały, aby potencjalnie zoptymalizować modele dla regionów. W rzeczywistości wykorzystuje inne kryteria niż optymalność modelu, ale musisz ocenić swoją zdolność do wyjaśnienia różnicy, aby ustalić, czy możesz to dobrze wyjaśnić. Dokumenty na ten temat są dość dostępne dla badacza, ale mogą być dość trudne dla kogoś, kto nie chce rozważyć prostszych metod, takich jak losowe lasy, przyspieszanie itp. Matematycznie myślę, żeparty
jest to bardziej wyrafinowane ... Niemniej modele CART są łatwiejsze wyjaśnić, zarówno pod względem metodologii, jak i wyników, i stanowią one dobry krok do wprowadzenia bardziej wyrafinowanych modeli opartych na drzewach.Krótko mówiąc, powiedziałbym, że musisz zrobić
rpart
dla jasności i możesz użyćparty
dla dokładności / wydajności, ale nie przedstawiłbym sięparty
bez przedstawieniarpart
.Aktualizacja 1. Swoją odpowiedź oparłem na moim zrozumieniu z
party
roku lub dwóch lat temu. Wyrósł już dość, ale zmodyfikowałbym swoją odpowiedź, aby powiedzieć, że nadal polecamrpart
ze względu na jej zwięzłość i spuściznę, jeśli „niefajność” będzie ważnym kryterium dla twojego klienta / współpracownika. Jednak starałbym się migrować do korzystania z większej liczby funkcjiparty
, po tym, jak kogoś przedstawiłemrpart
. Lepiej zacząć od małych, z funkcjami strat, kryteriami podziału itp., W prostym kontekście, przed wprowadzeniem pakietu i metodologii, które obejmują znacznie bardziej zaangażowane koncepcje.źródło
party
pakiet może zrobić. Ta czystaparty
funkcja tworzy tylko jedno proste drzewo, jak wrpart
przypadku większości głosujących w liściach.mob
Funkcja wparty
to co buduje drzew z bardziej złożonych modeli w liściach (i wybiera podziały oparte na niestabilność parametrów.)mob
czy też reszta pakietu całkiem się rozrosła - na przykład nie pamiętam wcześniej losowych lasów. Poprawię swoją odpowiedź ...ctree
zrobić pojedyncze drzewo,cforest
zrobić losowy las imob
zrobić liście oparte na modelu. I fyi, las jest fajny, ale strasznie powolny do przewidywania.mob
mógł tam być od początku, a przynajmniej późniejctree
. Istnieje już od 2009 roku lub wcześniej. W każdym razie po prostu pokazuje, że wszyscy możemy nauczyć się czegoś nowego na SE. :)