如何选择 rpart() 中的分割数?

机器算法验证 r 大车 rpart
2022-03-08 16:42:31

我已经使用rpart.control了,并从函数中minsplit=2得到了以下结果。rpart()为了避免过度拟合数据,我需要使用拆分 3 还是拆分 7?我不应该使用拆分 7 吗?请告诉我。

树构造中实际使用的变量:

[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
1个回答

惯例是在最佳树的一个标准误差内使用最佳树(最低交叉验证相对误差)或最小(最简单)树。最好的树在第 8 行(7 次拆分),但第 7 行(6 次拆分)中的树有效地完成了相同的工作(xerror对于第 7 行中的树 = 0.21761,它在(小于)xerror最佳树加一个标准之内错误, xstd, (0.21076 + 0.042196) = 0.252956) 并且更简单,因此 1 标准错误规则会选择它。