Я строю дерево с помощью rpart со следующим кодом:
bsprp <- mean(df.trn$y)
tree.model <- rpart(status ~ .,
method = "class",
data = df.trn,
parms=list(prior=c(1-bsprp,bsprp)),
cp=-1)
Набор данных выглядит следующим образом:
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 24180 obs. of 9 variables:
$ variable1 : Factor w/ 2 levels
$ variable2 : Factor w/ 7 levels
$ variable3 : Factor w/ 2 levels
$ variable4 : num
$ variable5 : Factor w/ 6 levels
$ variable6 : num
$ variable7 : num
$ variable8 : num
$ status : Factor w/ 2 levels
Я получаю следующий вывод (для ясности удалены некоторые строки):
Root node error: 12090/24180 = 0.5
n= 24180
CP nsplit rel error xerror xstd
1 2.3739e-01 0 1.00000 1.01588 0.0064301
2 1.8776e-02 1 0.76261 0.76261 0.0062471
3 9.3741e-03 2 0.74384 0.74384 0.0062163
4 9.1811e-03 5 0.71572 0.72738 0.0061873
5 5.0455e-03 7 0.69735 0.69942 0.0061335
6 4.8525e-03 9 0.68726 0.69553 0.0061256
7 3.8875e-03 12 0.67270 0.68875 0.0061115
8 3.3912e-03 13 0.66882 0.68098 0.0060949
9 2.7295e-03 14 0.66543 0.67684 0.0060858
10 2.0678e-03 15 0.66270 0.67155 0.0060741
20 1.1166e-03 38 0.62680 0.63672 0.0059916
30 8.1059e-04 102 0.55393 0.59686 0.0058852
40 5.2385e-04 214 0.48015 0.52845 0.0056710
50 4.0175e-04 391 0.38668 0.47428 0.0054705
60 2.7571e-04 619 0.30223 0.42754 0.0052729
70 1.2407e-04 847 0.24764 0.38710 0.0050814
80 2.7571e-05 982 0.23590 0.38428 0.0050673
81 2.0678e-05 994 0.23557 0.38420 0.0050669
82 1.6543e-05 1002 0.23540 0.38420 0.0050669
83 0.0000e+00 1007 0.23532 0.38395 0.0050657
84 -1.0000e+00 1505 0.23532 0.38395 0.0050657
Результаты перекрестной проверки
Я читаю во многих блогах, и по стеку стека я должен обрезать дерево в cp с наименьшей относительной ошибкойи с другими наборами данных он снова повышается после нескольких разделений.Что мне здесь делать?
Обновление 18-04-2019:
Казалось, что это как-то связано с «повышением частоты дискретизации». У меня был несколько искаженный набор данных (15% положительных результатов) иЯ увеличил выборку набора данных с помощью Кэрет.
Теперь я уменьшил выборку обучающего набора, и она решена.Вопрос остается ... как это возможно?