R partykit ctree жалуется на "разрывы не уникальны" - PullRequest
0 голосов
/ 18 декабря 2018

Этот вопрос касается 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

enter image description here

...