如何在R / plotROC中重新调整ROC曲线?

时间:2018-12-17 18:25:23

标签: r ggplot2 data-visualization roc

我刚刚开始学习曲线。我正在尝试制作一个ROC plot,但似乎该曲线的弯曲方向比平常要错误-请参见附件

您能帮助扭转曲线,使其沿“通常”方向弯曲吗?

enter image description here

我的数据是

p <- structure(list(t = c(29354L, 7445L, 22309L, 29699L, 29711L, 14765L, 22257L, 
29715L, 29772L, 13320L, 20905L, 12950L, 3400L, 14800L,7400L, 21890L, 19400L, 14800L, 14700L, 22200L, 1688L, 4500L, 8438L, 13500L, 14800L, 
12580L, 12950L, 13320L, 11840L, 13320L, 14800L, 13690L, 11250L, 12210L, 13320L, 13320L, 14800L, 12580L,20720L, 11840L, 14800L, 7030L, 14800L, 
14800L, 8325L, 11100L,10730L, 13690L, 12210L, 14800L), a = c(0L, 1L, 1L, 0L, 0L, 
1L,0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,1L, 0L, 0L, 0L, 
0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L,0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 
0L, 0L, 0L)), .Names = c("t","a"), class = "data.frame", row.names = c(NA, 50L))

我使用了以下内容

library(plotROC)
basicplot <- ggplot(p, aes(d = p$a, m = p$t)) + geom_roc() + theme_bw()
basicplot + style_roc() 

奖励问题

我用Youden来确定最佳截止点,即13410。有什么想法可以特别注意这一点-例如通过突出显示一个红点?

1 个答案:

答案 0 :(得分:2)

您可以做两件事,交换10的名称,或使用geom_roc(increasing = FALSE)。请参见PlotROC vignette。这是假设您的模型实际上是以这种方式执行的,并且并没有真正地具有低灵敏度和高假阳性率,而只是将其反转。

basicplot <- ggplot(p, aes(d = a, m = t)) + geom_roc(increasing = FALSE) + theme_bw()
basicplot + style_roc()