与is(all.models,“caretList”一起失败的caretEnsemble不正确

与is(all.models,“caretList”一起失败的caretEnsemble不正确,r,r-caret,ensemble-learning,R,R Caret,Ensemble Learning,我尝试了来自的zachmayer代码,但在运行caretEnsemble命令时出现错误“is(all.models,“caretList”)不正确”。我应该使用caretList而不是仅仅列出所有模型吗?谢谢 `#Train some models model1 <- train(X[train,], Y[train], method='gbm', trControl=myControl, tuneGrid=expand.grid(.n.trees=500, .

我尝试了来自的zachmayer代码,但在运行caretEnsemble命令时出现错误“is(all.models,“caretList”)不正确”。我应该使用caretList而不是仅仅列出所有模型吗?谢谢

`#Train some models  
model1 <- train(X[train,], Y[train], method='gbm', trControl=myControl,
            tuneGrid=expand.grid(.n.trees=500, .interaction.depth=15,.shrinkage = 0.01))
model2 <- train(X[train,], Y[train], method='blackboost', trControl=myControl)
...
#Make a list of all the models  
all.models <- list(model1, model2, model3, model4, model5, model6, model7, model8, model9, model10)

#Make a greedy ensemble
 greedy <- caretEnsemble(all.models, iter=1000L)
Error: is(all.models, "caretList") is not TRUE`
训练一些模型
model1您可以使用通用函数
c()

供参考:


另外,在
fitControl()
中,您必须设置
savePredictions=TRUE

您是否可以共享您的列车控制功能。顺便说一下,它不支持交叉验证的时间片方法,而不是列表到集成模型。您应该使用CaretListThank!我认为是这样。我应该使用“careList”,而不仅仅是一个模型列表。但是,在进行模型集成时,创建一个列表比在“caretList”中同时运行所有模型更方便。发布完整的代码,包括
myControl
,以使其可复制。即使你在那个URL上使用了与扎克在要点中使用的相同的未经修改的。