【问题标题】:AUC from averaged class probabilities in caret R插入符号 R 中平均类概率的 AUC
【发布时间】:2019-12-20 14:33:02
【问题描述】:

我想在使用 caret 包进行交叉验证后从我的二元分类器中获取曲线下面积 (AUC)。

对于标准混淆矩阵,我在caret::confusionMatrix 中使用average 参数。

例子:

controls = trainControl(method="repeatedcv"
                    , number=5
                    , repeats=10
                    , selectionFunction = "oneSE"
                    , classProbs = T
                    , summaryFunction = twoClassSummary
)

svm_5k = train(veracity ~ .
           , data = training_data
           , method = "svmLinear"
           , trControl = controls
           , verbose = FALSE
           , metric = 'ROC'
)

然后混淆矩阵用于准确率、F1等

confmat = caret::confusionMatrix(svm_5k
                             , 'average')

现在我正在与 AUC 斗争:我现在正在检索类概率并将它们作为列附加到测试数据中,例如 testing_data$prob = predict(svm_5k, testing_data, type='prob')[,2]

如果我然后使用pROC 包来获取AUC,就像

roc(response = testing_data$veracity, predictor = testing_data$prob) ...

...我没有使用controls 中指出的交叉验证,而只是分类器的快照。

有什么方法可以使用 CV 的平均概率来获得 AUC?

【问题讨论】:

    标签: r r-caret auc


    【解决方案1】:

    试试

    predict = predict(svm_5k, testing_data)
    roc <- roc(testing_data$veracity, as.numeric(predict))
    

    现在您可以从 roc 获得您需要的所有东西,例如灵敏度、特异性和曲线下面积。

    auc <- auc(roc)
    sens <- roc$sensitivities[2]
    spec <- roc$specificities[2]
    

    【讨论】:

    • 但这不会给出不同简历的平均值。正如你所描述的,它与我所做的相似。然而,我想避免只从一次迭代中获得预测,而是从所有 CV 重复的平均值中获得。
    • Idk 我有一个类似的任务,但我使用了 10 折交叉验证,做了一个 auc 字段。在 for 循环中,我将它们连接起来,最后我使用了均值。
    【解决方案2】:

    我遇到了同样的问题,你想要的存储在你的模型中 svm_5k$pred 下。

    要绘制 AUC,您可以:

    library(ggplot2)
    library(plotROC)
    ggplot(svm_5k$pred, 
           aes(m = M, d = factor(obs, levels = c("R", "M")))) + 
        geom_roc(hjust = -0.4, vjust = 1.5) + coord_equal()
    

    M 的值取决于您在svm_5k$pred 下的型号。而“R”和“M”只是标签。

    所以就我而言,m = Yeslevels = c("Yes", "No")。类似的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      • 2013-08-26
      • 2014-07-07
      • 2014-07-27
      • 2015-08-18
      • 1970-01-01
      • 2017-08-13
      相关资源
      最近更新 更多