Я пытаюсь использовать каретку, чтобы найти лучшие параметры для модели gbm. Этот код идентичен тому, что я использовал на других наборах данных, и не могу определить ошибку.R код каретки/gbm не будет прогнозировать: dim (X) должен иметь положительную длину
Кажется, что работает модель, но не может создавать прогнозы.
predictions failed for Fold2: interaction.depth=4, shrinkage=0.005, n.trees=200 Error in apply(tmp, 2, function(x, nm = modelFit$obsLevels) ifelse(x >= :
dim(X) must have a positive length
Вот полный код:
library(caret)
library(gbm)
myControl <- trainControl(method='cv', number=2, summaryFunction=twoClassSummary,
classProbs=TRUE, savePredictions=TRUE, verboseIter=TRUE)
df1 <- data.frame(Y = round(runif(1000), 0), x1=runif(1000), x2=runif(1000))
X <- df1[,c('x1','x2')]
Y <- factor(paste('X', df1[,'Y']))
gbm_model <- train(X, Y, method='gbm', metric='ROC', trControl=myControl
,distribution='bernoulli', tuneGrid=expand.grid(.n.trees=seq(100, 200, by=100)
,.interaction.depth=seq(2, 4, by=2), .shrinkage=c(.005)))
Любые предложения?
EDIT: Я использую gbm 2.1
и caret 5.16.24
@topepp: Большое спасибо! – screechOwl