Como prever em um novo conjunto de dados usando o pacote caretEnsemble no R?
Atualmente estou usandocaretEnsemble
pacote em R para combinar vários modelos treinados em circunflexo. Eu tenho a lista dos modelos finais treinados (digamosmodel_list
) usandocaretList
função do mesmo pacote a seguir.
model_list <- caretList(
x = input_predictors,
y = input_labels,
metric = 'Accuracy',
tuneList = list(
randomForestModel = caretModelSpec(method='rf',
tuneLength=1,
preProcess=c('BoxCox', 'center', 'scale')),
ldaModel = caretModelSpec(method='lda',
tuneLength=1,
preProcess=c('BoxCox', 'center', 'scale')),
logisticRegressionModel = caretModelSpec(method='glm',
tuneLength=1,
preProcess=c('BoxCox', 'center', 'scale'))
),
trControl = myTrainControl
)
O objeto de controle do trem que forneci foi o seguinte:
myTrainControl = trainControl(method = "cv",
number = 10,
index=createResample(training_input_data$retinopathy, 10),
savePredictions = TRUE,
classProbs = TRUE,
verboseIter = TRUE,
summaryFunction = twoClassSummary)
Agora estou treinando nessas listas de modelos como:
ens <- caretEnsemble(model_list)
Aplicandosummary
emens
diz-me os modelos selecionados (demodel_list
), a ponderação atribuída aos modelos selecionados, fora da amostraAUC
valores para cada um dos modelos selecionados e, finalmente, na amostraAUC
valores paraens
.
Agora eu quero calcular o desempenho deens
em outros dados de teste (para ter uma idéia sobre o desempenho fora da amostra). Como eu conseguiria isso?
Estou tentando isso como:
ensPredictions <- predict(ens, newdata = test_data)
mas está me dando um erro como:
Error in `[.data.frame`(out, , obsLevels, drop = FALSE) :
undefined columns selected