调整模型时产生的 ROC/Sens/Spec 与模型在同一数据集上做出的实际预测之间似乎存在差异。我正在使用使用 kernlab 的 ksvm 的插入符号。我没有遇到 glm 的这个问题。
data(iris)
library(caret)
iris <- subset(iris,Species == "versicolor" | Species == "setosa") # we need only two output classess
iris$noise <- runif(nrow(iris)) # add noise - otherwise the model is too "perfect"
iris$Species <- factor(iris$Species)
fitControl <- trainControl(method = "repeatedcv",number = 10, repeats = 5, savePredictions = TRUE, classProbs = TRUE, summaryFunction = twoClassSummary)
ir <- train(Species ~ Sepal.Length + noise, data=iris,method = "svmRadial", preProc = c("center", "scale"), trControl=fitControl,metric="ROC")
confusionMatrix(predict(ir), iris$Species, positive = "setosa")
getTrainperf(ir) # same as in the model summary
这种差异的根源是什么?哪些是“真实的”,交叉验证后的预测?