Wybór parametru złożoności w KOSZYKU

16

W procedurze rpart () do tworzenia modeli CART określasz parametr złożoności, do którego chcesz przyciąć drzewo. Widziałem dwie różne rekomendacje dotyczące wyboru parametru złożoności:

  1. Wybierz parametr złożoności związany z minimalnym możliwym błędem walidowanym krzyżowo. Ta metoda jest zalecana przez Quick-R i HSAUR.

  2. Wybierz parametr największej złożoności, którego szacowany błąd zweryfikowany krzyżowo nadal mieści się w SE od minimalnego możliwego błędu potwierdzonego krzyżowo. To jest moja interpretacja dokumentacji pakietu, która mówi: „Dobry wybór cp do przycinania jest często wartością skrajnie lewą, dla której średnia leży poniżej linii poziomej” w odniesieniu do tego wykresu .

Dwie opcje cp dają całkiem różne drzewa w moim zbiorze danych.

Wydaje się, że pierwsza metoda zawsze da bardziej złożone, potencjalnie nadmiernie dopasowane drzewo. Czy istnieją inne zalety, wady, zalecenia w literaturze itp., Które powinienem wziąć pod uwagę przy podejmowaniu decyzji, której metody użyć? Mogę podać więcej informacji o moim konkretnym problemie z modelowaniem, jeśli byłoby to przydatne, ale staram się, aby pytanie było wystarczająco szerokie, aby dotyczyło innych.

półprzejście
źródło
Co reprezentuje pozioma linia na wykresie?
Bogdanovist
Uważam, że reprezentuje 1 SE powyżej minimalnego możliwego błędu potwierdzonego krzyżowo.
półfinał
Jeśli masz wystarczającą ilość danych, możesz spróbować podzielić je na zestaw danych szkoleniowych i testowych, nawet dla drzew. Może to być szczególnie przydatne, jeśli interesuje Cię głównie przewidywanie, ponieważ zestaw danych testowych da dobre oszacowanie tego. Innym wyborem jest partypakiet, który wykorzystuje testy istotności (zwykle nie jest to coś, co polecam, ale wydaje się tutaj istotne). Jak zawsze jednak najlepszym testem jest przydatność i sens; jest to szczególnie prawdziwe, jeśli jesteś zainteresowany głównie wyjaśnieniem.
Peter Flom - Przywróć Monikę
Przepraszam za powolną odpowiedź. Aby to wyjaśnić, pomyślałem, że wykorzystując sprawdzanie krzyżowe do obliczenia błędu przy różnych rozmiarach drzew, już kilkakrotnie skutecznie dzieliłem dane na zestawy szkoleniowe i testowe. Czy w takim przypadku wykonanie kolejnego podziału szkolenia / testu byłoby zbędne? Czy ja ciebie nie rozumiem?
półfinał
Dzielenie danych w pociągu / teście i walidacja krzyżowa parametru cp przy użyciu wyłącznie danych pociągu spowoduje odtworzenie realistycznego testu predykcyjnego (w którym nie można użyć przyszłych danych do oszacowania cp). Tak więc pierwsze CV będzie dotyczyło cp, błędu prognozy dla całego modelu (w tym oszacowanego cp).
Robert Kubrick

Odpowiedzi:

6

W praktyce widziałem oba podejścia i myślę, że ogólnie nie oczekuje się, że wyniki będą się znacznie różnić.

Biorąc to pod uwagę, Hastie i wsp. Zalecają zasadę „błędu jednego standardu” w elementach statystycznego uczenia się , i zwykle ufam ich osądowi (sekcja 7.10, str. 244 w mojej wersji). Odpowiedni cytat to:

Często przy walidacji krzyżowej stosowana jest reguła „błąd jednego standardu”, w której wybieramy najbardziej oszczędny model, którego błąd jest nie większy niż jeden błąd standardowy powyżej błędu najlepszego modelu. ”

Twoja intuicja dotycząca tego, dlaczego należy stosować jedną standardową regułę błędu, jest słuszna - zrobiłbyś to, aby uniknąć wyboru modelu, który będzie przekraczał dane.

Tchotchke
źródło
1

Najpierw należy zacząć od użycia argumentów minsplit=0i cp=0(parametru złożoności), a następnie użyć funkcji plotcp(T.max)i printcp(T.max)wybrać wartość cpodpowiadającą minimalnemu błędowi względnemu i przyciąć drzewo funkcjąprune.rpart(T.max, cp=....)

To powinno dać ci optymalne drzewo klasyfikacji, ponieważ wydają się zbyt optymistyczne.

Ayman Hijazy
źródło