Можно получить график ctree без графиков внизу, но с метками результатов без использования каретки. Для полноты я добавил код каретки ниже.
Сначала настройте некоторые данные для воспроизводимого примера:
library(caret)
library(partykit)
data("PimaIndiansDiabetes", package = "mlbench")
head(PimaIndiansDiabetes)
pregnant glucose pressure triceps insulin mass pedigree age diabetes
1 6 148 72 35 0 33.6 0.627 50 pos
2 1 85 66 29 0 26.6 0.351 31 neg
3 8 183 64 0 0 23.3 0.672 32 pos
4 1 89 66 23 94 28.1 0.167 21 neg
5 0 137 40 35 168 43.1 2.288 33 pos
6 5 116 74 0 0 25.6 0.201 30 neg
Теперь найдите оптимальные параметры ctree с помощью каретки:
fitControl <- trainControl(method = "cv", number = 10)
dtree <- train(
diabetes ~ ., data = PimaIndiansDiabetes,
method = "ctree", trControl = fitControl
)
dtree
Conditional Inference Tree
768 samples
8 predictor
2 classes: 'neg', 'pos'
No pre-processing
Resampling: Cross-Validated (10 fold)
Summary of sample sizes: 691, 691, 691, 692, 691, 691, ...
Resampling results across tuning parameters:
mincriterion Accuracy Kappa
0.01 0.7239747 0.3783882
0.50 0.7447027 0.4230003
0.99 0.7525632 0.4198104
Accuracy was used to select the optimal model using the largest value.
The final value used for the model was mincriterion = 0.99.
Это не идеальная модель, но эй хо, и мы идем.
Теперь создайте и построите модель ctree, используя пакет ctree с оптимальными параметрами из каретки:
ct <- ctree(diabetes ~ ., data = PimaIndiansDiabetes, mincriterion = 0.99)
png("diabetes.ctree.01.png", res=300, height=8, width=14, units="in")
plot(as.simpleparty(ct))
dev.off()
Что дает следующий рисунок без графиков внизу, но с конечными переменными ("pos" и "neg") на конечных узлах. Необходимо использовать нестандартные значения высоты и ширины, чтобы избежать наложения оконечных узлов.
Обратите внимание, следует соблюдать осторожность с 0, 1 переменными результата при использовании ctree с каретой.
Пакет каретки с методом ctree по умолчанию строит регрессионную модель с целыми или числовыми данными 0, 1. Преобразуйте итоговую переменную в коэффициент, если требуется классификация.