使用R语言包caret,我如何基于train()函数的交叉验证结果生成ROC曲线?
比如说,我执行了以下操作:
data(Sonar)
ctrl <- trainControl(method="cv",
summaryFunction=twoClassSummary,
classProbs=T)
rfFit <- train(Class ~ ., data=Sonar,
method="rf", preProc=c("center", "scale"),
trControl=ctrl)
训练函数会涉及一系列的mtry参数,并计算ROC AUC。我想查看关联的ROC曲线--如何实现?
注意:如果采样方法是LOOCV,则
rfFit
将在rfFit$pred
位置包含非空数据帧,这似乎正是我所需要的。但是,我需要的是k折交叉验证方法("cv"方法),而不是LOO。另外:不,Caret以前版本中包含的
roc
函数不是答案--这是一个底层函数,如果您没有每个交叉验证样本的预测概率,则无法使用它。