Этот вопрос касается ctree
в пакете partykit
R. Построение дерева регрессии на непрерывном ответе y
с 28 непрерывными предикторами x_1, x_2,...., x_28
, я столкнулся с ошибкой, которая, вероятно, возникла из алгоритма расщепления вctree
.
library(partykit)
ctrl1 = partykit::ctree_control(minsplit=100, minbucket=100, minprob=0.1, maxdepth=Inf)
dc3 = partykit::ctree(y~., data=as.data.frame(X3), control=ctrl1)
Error in interval.numeric(x, breaks = c(xmin - tol, ux, xmax)) :
'breaks' are not unique
У моих предикторов относительно хорошее поведение (гистограммы прилагаются).
Вопрос в том, что я могу с этим сделать?
РЕДАКТИРОВАТЬ: Сравнивая алгоритмы дерева решений, я проверил эти данные на пакете ctree
из party
, никаких проблем вообще.Я тоже поставил через rpart
, опять без проблем.
library(rpart)
library(party)
ctrl11 = party::ctree_control(minsplit=100, minbucket=100, maxdepth=0)
dc31 = party::ctree(y~., data=as.data.frame(X3), control=ctrl11)
X11();plot(dc31)
rpart.cont = list(maxdepth=3, usesurrogate=0, xval=0, cp=0.001, minsplit=10, minbucket=10)
dc3 = rpart(y~., data=as.data.frame(X3),method="anova", model=TRUE, control=rpart.cont)
> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.5 LTS