由于无法提取预测,因此我完全迷恋于随机森林分类模型。由于以下原因,我真的毫无头绪:

predict(forest.model1, titanic.final.test)


就像魅力一样

extractPrediction(list(forest.model1), testX=titanic.final.test[,-2], testY=titanic.final.test[,2])


应该等效,给我这个错误:

Error in predict.randomForest(modelFit, newdata) :
  variables in the training data missing in newdata


这是我的trainControl:

forest.fitControl <- trainControl( method = "repeatedcv", repeats = 5,
summaryFunction = twoClassSummary, classProbs=TRUE,
returnData=TRUE, seeds=NULL, savePredictions=TRUE, returnResamp="all")


任何想法?

最佳答案

测试和训练必须具有相同的结构(即所有相同的列)。因此,我唯一的猜测是,否定第二列会导致与用于训练模型的数据不同的结构。不了解培训与测试数据框架的结构就很难知道。

查看代码后进行编辑:
从您的存储库中重新创建了这个……确保它不应该是您为testX提取并为testY使用的第一列。就像是:

extractPrediction(list(forest.model1), testX=titanic.final.test[,-1], testY=titanic.final.test[,1])

关于r - 无法在R中使用插入符号提取预测,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20397505/

10-12 18:13