2
我目前在R中使用caretEnsemble
包来组合在插入符号中训练过的多个模型。我使用caretList
函数从下列相同的软件包中获得最终培训型号列表(例如model_list
)。如何使用R中的caretEnsemble包预测新数据集?
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
)
我提供的列车控制对象如下:
myTrainControl = trainControl(method = "cv",
number = 10,
index=createResample(training_input_data$retinopathy, 10),
savePredictions = TRUE,
classProbs = TRUE,
verboseIter = TRUE,
summaryFunction = twoClassSummary)
现在我正在训练的车型为那些名单上:
ens <- caretEnsemble(model_list)
上ens
应用summary
告诉我的选择模型(出于model_list
),分配给这些选定模型的权重,样本外AUC
值所选模型,最后在样本AUC
的值为ens
。
现在我想计算其他测试数据上的ens
的性能(以获得关于样本外性能的想法)。我将如何实现它?
我想出来的:
ensPredictions <- predict(ens, newdata = test_data)
,但它给我一个错误:
Error in `[.data.frame`(out, , obsLevels, drop = FALSE) :
undefined columns selected
请提供[最小可重现示例](http://stackoverflow.com/a/5963610/345660) – Zach