Сетка параметров настройки должна иметь столбцы mtry
Я пытаюсь использовать Рейнджер через Карет. Интересно, что выскакивает сообщение об ошибке:
Error in train.default(x <- as.matrix(train_data[, !c(excludeVar), with = FALSE]), :
The tuning parameter grid should have columns mtry
Итак, я проверяю:
> model_grid
mtry splitrule min.node.size
1 5 gini 10
Коды, которые я использовал:
mtry <- round(sqrt(ncol(train_data) - 3),0) # ignore ID fields and target fields
# parameters
model_grid <- expand.grid(
mtry = mtry # mtry specified here
,splitrule = "gini"
,min.node.size = 10
)
model_trcontrol <- trainControl(
method = "cv",
number = 2,
search = "grid",
verboseIter = FALSE,
returnData = FALSE,
savePredictions = "none",
classProbs = TRUE,
summaryFunction = twoClassSummary,
sampling = "up", # over-sampling
allowParallel = TRUE
)
# training
targetVar = target_fields[i]
excludeVar = c(ID_fields,targetVar)
model_train <- train(
x <- as.matrix(train_data[,!c(excludeVar),with = FALSE]),
y <- eval(parse(text = paste0("as.factor(train_data$",targetVar,")"))),
trControl = model_trcontrol,
tuneGrid = model_grid,
method = "ranger"
)
Коды работают на моем локальном ПК Rstudio (когда я использовал небольшую выборку данных), но не на виртуальной машине Rstudio.
Любая возможная причина, почему это происходит? Как это исправить?
1 ответ
Решение
Я столкнулся с подобной проблемой. Это решается после того, как я выполняю переустановку карета из GitHub с помощью devtools.
devtools::install_github('topepo/caret/pkg/caret')