Я столкнулся с проблемой при использовании параметров tuneGrid и элементов управления в карете. В этом примере я хотел бы установить mincriterion и max depth, но также хотел бы указать размер минимального ведра. Эта ошибка возникает, когда любые параметры передаются в ctree_control().Использование tuneGrid и элементов управления в ctree (Caret)
я получаю ошибку:
В Eval (выражение, ENVIR, Enclos): модель подходит не удалось для Fold1: mincriterion = 0,95, maxdepth = 7 ошибок в (функции (кл, имя, valueClass): присвоение объекта класса «numeric» недействительно для «maxdepth» в объекте класса «TreeGrowControl»; is (значение, «целое») не TRUE »
Это может быть воспроизведено путем запуска:
library(caret)
data("GermanCredit")
trainCtrl <- trainControl(method = 'cv', number = 2, sampling = 'down',
verboseIter = FALSE, allowParallel = FALSE, classProbs = TRUE,
summaryFunction = twoClassSummary)
tune <- expand.grid(.mincriterion = .95, .maxdepth = seq(5, 10, 2))
ctree_fit <- train(Class ~ ., data = GermanCredit,
method = 'ctree2', trControl = trainCtrl, metric = "Sens",
tuneGrid = tune, controls = ctree_control(minbucket = 10))
Я стараюсь ИНГ этот подход, основанный на ответе размещены здесь: Run cforest with controls = cforest_unbiased() using caret package
Взглядами ошибки, он имеет что-то делать с тем, как каретка проходит глубину максимум до Ctree, но я не уверен, если есть в любом случае вокруг этого , Работа ctree непосредственно с ctree_control работает отлично.
Любая помощь очень ценится
Спасибо, что решил. На самом деле кажется немного очевидным сейчас - это было прямо в ошибке! Я также ценю Разум, очень полезный. – Davidws