Wie wähle ich die Anzahl der Teilungen in rpart ()?

9

Ich habe rpart.controlfür verwendet minsplit=2und habe die folgenden Ergebnisse von der rpart()Funktion erhalten. Muss ich Splits 3 oder Splits 7 verwenden, um eine Überanpassung der Daten zu vermeiden? Sollte ich nicht Splits 7 verwenden? Lass es mich wissen, bitte.

Tatsächlich in der Baumkonstruktion verwendete Variablen:

[1] ct_a ct_b usr_a

Root node error: 23205/60 = 386.75

n= 60        

    CP nsplit rel error  xerror     xstd
1 0.615208      0  1.000000 1.05013 0.189409
2 0.181446      1  0.384792 0.54650 0.084423
3 0.044878      2  0.203346 0.31439 0.063681
4 0.027653      3  0.158468 0.27281 0.060605
5 0.025035      4  0.130815 0.30120 0.058992
6 0.022685      5  0.105780 0.29649 0.059138
7 0.013603      6  0.083095 0.21761 0.045295
8 0.010607      7  0.069492 0.21076 0.042196
9 0.010000      8  0.058885 0.21076 0.042196
Samarasa
quelle
1
Ich habe dies in dem Follow-up beantwortet, das Sie in der vorherigen Frage gepostet haben. Angesichts dessen bestand keine Notwendigkeit dafür. Ich erwähnte, dass Sie Qs nicht bearbeiten sollten, um sie später nachschlagen zu können !
Gavin Simpson
1
Um in Zukunft nicht mehr nach der entsprechenden Frage zu suchen, finden Sie hier den Link zum vorherigen Q: stats.stackexchange.com/questions/13446/… .
Chl

Antworten:

10

Die Konvention besteht darin, den besten Baum (niedrigster relativer Kreuzvalidierungsfehler) oder den kleinsten (einfachsten) Baum innerhalb eines Standardfehlers des besten Baums zu verwenden. Der beste Baum befindet sich in Zeile 8 (7 Teilungen), aber der Baum in Zeile 7 (6 Teilungen) erledigt effektiv die gleiche Aufgabe ( xerrorfür Baum in Zeile 7 = 0,21761, der innerhalb (kleiner als) xerrordes besten Baums plus eines Standards liegt Fehler xstd,, (0,21076 + 0,042196) = 0,252956) und ist einfacher, daher würde die 1 Standardfehlerregel ihn auswählen.

Gavin Simpson
quelle