【问题标题】:How to add the optimum threshold to the ROC curve plot in R如何将最佳阈值添加到 R 中的 ROC 曲线图中
【发布时间】:2022-06-12 08:05:25
【问题描述】:

我在下面得到了这个例子,想知道如何获得每种方法的最佳阈值(约登指数 = 灵敏度+特异性-1),并将该值绘制在 ROC 曲线上,以了解从该最佳阈值获得的坐标。怎么做?我的真实 ROC 曲线由四种不同方法的 4 条 roc 曲线(参见下面的示例)组成,我想在每种相应方法上绘制每种方法的最佳阈值。为简单起见,我使用下面的示例。

library(ROCR)
data(ROCR.simple)
df <- data.frame(ROCR.simple)
pred <- prediction(df$predictions, df$labels)
perf <- performance(pred,"tpr","for")
plot(perf,colorize=FALSE)

这是我的 ROC 曲线示例。

【问题讨论】:

    标签: r plot roc threshold


    【解决方案1】:

    您可以使用 pROC 包轻松做到这一点(免责声明:我是这个包的作者和维护者)。设置print.thres

    library(pROC)
    my_curve <- roc(df$predictions, df$labels)
    plot(my_curve, print.thres=TRUE)
    

    【讨论】:

    • 是的,我知道,这是一个很棒的包,但问题是我不能使用这个包,因为我需要自己制作来绘制 ROC 曲线,因为我正在分析的方法不是二元分类器,而是分类 10 种不同的事物。我展示的图是我自己的ROC曲线,但我展示的例子是一个简单的例子,便于重现。
    【解决方案2】:

    据我了解,ROC 曲线仅适用于二元分类器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-27
      • 2016-05-17
      • 2019-04-19
      • 2018-07-17
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      相关资源
      最近更新 更多