Возможно, это связано с тем, что RPART
не может создать дерево решений с данным набором данных после использования его параметров управления по умолчанию.
rpart.control(minsplit = 20, minbucket = round(minsplit/3), cp = 0.01,
maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, xval = 10,
surrogatestyle = 0, maxdepth = 30, ...)
Если вы хотите создать дерево, вы можете настроить параметры управления и создать дерево подстройки.
tree <- rpart(f11~TSU+TSL+TW+TP,data = Z24train,method="class",control =rpart.control(minsplit =1,minbucket=1, cp=0))
Описание параметров взяты из документации г (https://stat.ethz.ch/R-manual/R-devel/library/rpart/html/rpart.control.html)
minsplit
минимальное число наблюдений, которые должны существовать в узле для того, чтобы раскола, чтобы быть предпринято.
minbucket
минимальное число наблюдений в любом узле терминала. Если указан только один из minbucket или minsplit, код либо устанавливает minsplit на minbucket * 3, либо minbucket на minsplit/3, если это необходимо.
cp
параметр сложности. Любой раскол, который не уменьшает общее отсутствие соответствия коэффициенту cp, не предпринимается. Например, при расщеплении anova это означает, что общее R-квадрат должен увеличиваться на cp на каждом шаге. Основная роль этого параметра заключается в том, чтобы экономить вычислительное время, сокращая разделение, которое явно не стоит. По сути, пользователь информирует программу о том, что любой раскол, который не улучшает соответствие с помощью cp, скорее всего, будет сокращен путем перекрестной проверки, и поэтому программа не должна преследовать его