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:
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.
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.
party
Paket, 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.Antworten:
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:
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.
quelle
Sie sollten zuerst mit den Argumenten
minsplit=0
undcp=0
(Komplexitätsparameter) beginnen und dann die Funktionen verwendenplotcp(T.max)
undprintcp(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.
quelle