Я работаю с деревьями решений в R для исследовательского проекта.Я хотел бы иметь последовательную запись в решениях / разделениях, то есть мне бы хотелось, чтобы мои решения всегда имели форму «x = b».
Рассмотрим эти примеры из набора данных Ирис и Титаник
library(rpart)
library(dplyr)
#iris
tree_iris <- rpart(Species ~ ., data = iris, method = 'class')
#titanic
set.seed(678)
path <-'https://raw.githubusercontent.com/thomaspernet/data_csv_r/master/data/titanic_csv.csv'
titanic <-read.csv(path)
titanic <- select(titanic, -c(home.dest, cabin, name, X, ticket, embarked))
tree_titanic <- rpart(survived ~ ., data = titanic, method = 'class', cp = 0.02)
Результат дерева Ирис:
1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)
2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) *
3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000)
6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) *
7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) *
, а результат дерева Титаник::
1) root 1309 500 0 (0.61802903 0.38197097)
2) sex=male 843 161 0 (0.80901542 0.19098458)
4) age>=9.5 796 136 0 (0.82914573 0.17085427) *
5) age< 9.5 47 22 1 (0.46808511 0.53191489)
10) sibsp>=2.5 20 1 0 (0.95000000 0.05000000) *
11) sibsp< 2.5 27 3 1 (0.11111111 0.88888889) *
3) sex=female 466 127 1 (0.27253219 0.72746781)
6) pclass>=2.5 216 106 0 (0.50925926 0.49074074)
12) fare>=23.35 33 3 0 (0.90909091 0.09090909) *
13) fare< 23.35 183 80 1 (0.43715847 0.56284153) *
7) pclass< 2.5 250 17 1 (0.06800000 0.93200000) *
Как видите, для первого примера решения имеют форму 'x = b', и левый дочерний узел указывает, что это утверждение верно.Могу ли я контролировать это так, чтобы решения всегда имели форму «x