Komplexitätsparameter in CART auswählen

16

In der Routine rpart () zum Erstellen von CART-Modellen geben Sie den Komplexitätsparameter an, auf den Sie Ihren Baum beschneiden möchten. Ich habe zwei verschiedene Empfehlungen für die Auswahl des Komplexitätsparameters gesehen:

  1. Wählen Sie den Komplexitätsparameter aus, der mit dem minimal möglichen quervalidierten Fehler verknüpft ist. Diese Methode wird von Quick-R und HSAUR empfohlen.

  2. Wählen Sie den größten Komplexitätsparameter, dessen geschätzter kreuzvalidierter Fehler immer noch innerhalb einer SE des minimal möglichen kreuzvalidierten Fehlers liegt. Dies ist meine Interpretation der Paketdokumentation, in der es heißt: "Eine gute Wahl von cp zum Beschneiden ist oft der Wert ganz links, für den der Mittelwert unter der horizontalen Linie liegt" in Bezug auf dieses Diagramm .

Die beiden Optionen von cp erzeugen in meinem Datensatz ganz unterschiedliche Bäume.

Es sieht so aus, als würde die erste Methode immer einen komplexeren, möglicherweise überausgestatteten Baum erzeugen. Gibt es andere Vor- und Nachteile, Empfehlungen in der Literatur usw., die ich berücksichtigen sollte, wenn ich mich für eine Methode entscheide? Ich kann weitere Informationen zu meinem speziellen Modellierungsproblem bereitstellen, wenn dies nützlich wäre, versuche jedoch, diese Frage so weit zu fassen, dass sie für andere relevant ist.

Halbpass
quelle
Was stellt die horizontale Linie im Plot dar?
Bogdanovist
Ich glaube, es entspricht 1 SE über dem minimal möglichen Fehler bei der Quervalidierung.
Half-Pass
Wenn Sie über genügend Daten verfügen, können Sie versuchen, diese auch für Bäume in einen Trainings- und Testdatensatz aufzuteilen. Dies kann besonders nützlich sein, wenn Sie hauptsächlich an Vorhersagen interessiert sind, da der Testdatensatz eine gute Schätzung dafür liefert. Eine andere Wahl ist das partyPaket, das Signifikanztests verwendet (normalerweise nicht empfehlenswert, aber es scheint hier relevant zu sein). Wie immer ist der beste Test jedoch Nützlichkeit und Sinn; Dies gilt insbesondere dann, wenn Sie hauptsächlich an Erklärungen interessiert sind.
Peter Flom - Wiedereinsetzung von Monica
Ich entschuldige mich für die langsame Antwort. Zur Verdeutlichung dachte ich, dass ich durch die Verwendung der Kreuzvalidierung zur Berechnung des Fehlers bei verschiedenen Baumgrößen die Daten bereits effektiv wiederholt in Trainings- und Testsätze aufgeteilt hatte. Wäre in diesem Fall die Durchführung eines anderen Trainings / Test-Split überflüssig? Verstehe ich dich falsch?
Half-Pass
Wenn Sie die Daten in Zug / Test unterteilen und den Parameter cp nur mit Zugdaten quervalidieren, wird ein realistischer Vorhersagetest erstellt (bei dem Sie zukünftige Daten nicht zur Schätzung von cp verwenden können). Der erste Lebenslauf ist also für cp der Vorhersagefehler für das Gesamtmodell (einschließlich des geschätzten cp).
Robert Kubrick

Antworten:

6

In der Praxis wurden beide Ansätze verfolgt, und ich bin der Meinung, dass Ihre Ergebnisse im Allgemeinen in keiner Weise stark voneinander abweichen werden.

Trotzdem empfehlen Hastie et al die "Ein-Standard-Fehler" -Regel in den Elementen des statistischen Lernens , und ich neige dazu, ihrem Urteil zu vertrauen (Abschnitt 7.10, S. 244 in meiner Version). Das relevante Zitat ist:

Oft wird bei der Kreuzvalidierung eine "Ein-Standard-Fehler" -Regel verwendet, in der wir das sparsamste Modell auswählen, dessen Fehler nicht mehr als ein Standardfehler über dem Fehler des besten Modells liegt.

Ihre Intuition dafür, warum man die Ein-Standard-Fehlerregel befolgt, ist richtig - Sie würden das tun, um die Auswahl eines Modells zu vermeiden, das über die Daten passt.

Tchotchke
quelle
1

Sie sollten zuerst mit den Argumenten minsplit=0und cp=0(Komplexitätsparameter) beginnen und dann die Funktionen verwendenplotcp(T.max) und printcp(T.max)den Wert von auswählencp dem minimalen relativen Fehler entspricht, und den Baum durch die Funktion beschneidenprune.rpart(T.max, cp=....)

Dadurch sollten Sie den optimalen Klassifizierungsbaum erhalten, da diese tendenziell zu optimistisch sind.

Ayman Hijazy
quelle