Я использовал 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
Ответы:
Соглашение состоит в том, чтобы использовать лучшее дерево (наименьшая относительная ошибка перекрестной проверки) или наименьшее (самое простое) дерево в пределах одной стандартной ошибки наилучшего дерева. Лучшее дерево находится в строке 8 (7 разбиений), но дерево в строке 7 (6 разбиений) эффективно выполняет ту же работу (
xerror
для дерева в строке 7 = 0,21761, которое находится в пределах (меньше)xerror
лучшего дерева плюс один стандарт errorxstd
,, (0.21076 + 0.042196) = 0.252956) и является более простым, поэтому стандартное правило ошибки 1 выберет его.источник