Como escolher o número de divisões em rpart ()?

9

Eu tenho usado rpart.controlpara minsplit=2, e obteve os seguintes resultados de rpart()função. Para evitar o ajuste excessivo dos dados, preciso usar as divisões 3 ou 7? Não devo usar divisões 7? Por favor deixe-me saber.

Variáveis ​​realmente usadas na construção de árvores:

[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
fonte
11
Eu respondi isso no seguimento que você postou no Q. anterior. Dado isso, não havia necessidade disso. Mencionei que você não deve editar Qs para acompanhamento para referência futura !
Gavin Simpson
11
Para evitar procurar a pergunta relacionada no futuro, aqui está o link para o Q: stats.stackexchange.com/questions/13446/… anterior .
chl

Respostas:

10

A convenção é usar a melhor árvore (menor erro relativo de validação cruzada) ou a menor (mais simples) dentro de um erro padrão da melhor árvore. A melhor árvore está na linha 8 (7 divisões), mas a árvore na linha 7 (6 divisões) efetivamente realiza o mesmo trabalho ( xerrorpara a árvore na linha 7 = 0,21761, que está dentro (menor que) xerrorda melhor árvore mais um padrão error xstd,, (0,21076 + 0,042196) = 0,252956) e é mais simples, portanto a regra de erro padrão 1 a selecionaria.

Gavin Simpson
fonte