为什么使用list of roc进行ggrow时会出现非单调ROC曲线绘制错误?

问题描述 投票:0回答:1

我正在R中训练一个10倍交叉验证的随机森林。我提供了roc对象列表[此处下载][https://drive.google.com/drive/folders/1ZYs1gMzPr64lV7WQmVOu1zt0YSVak9cr],它是'my_roclist .rds 文件。制作底部绘图的代码在这里:

library(pROC)
library(ggplot2)

# load the my_roclist.rds file I've provided in the google drive
hochgerner.roc.list <- loadRDS("my_roclist.rds")
        
# plotting
jpeg('hochgerner2018_earlysig_roc.jpeg', width = 600, height=600)
ggroc(hochgerner.roc.list,  alpha = 1,
      colour = "red", linetype = 'solid',
      size = 4, legacy.axes = TRUE) + 
  theme_classic() + 
  ggtitle("Hochgerner et al., (2018) ROC") + 
  xlab("FPR") + ylab("TPR") + 
  geom_segment(aes(x = 0, xend = 1, y = 0, yend = 1), linewidth = 2,
               color="darkgrey", linetype="dashed") +
  theme(plot.title = element_text(size = 20, face = "bold", 
                                  hjust = 0.5),
        axis.text=element_text(size=20, face = "bold", colour="black"),
        axis.title =element_text(size=20, face = "bold", 
                                 colour="black"),
        panel.border = element_rect(color = "black",
                                    fill = NA,
                                    linewidth = 2),
        plot.margin = margin(t = 10, r = 10, b = 10, l = 10) ) +
  scale_x_continuous(expand = expansion(mult = c(0, 0)), 
                     breaks = c(0,0.25,0.5,0.75,1)) + 
  scale_y_continuous(expand = expansion(mult = c(0, 0)),  
                       breaks = c(0.25,0.5,0.75,1))
dev.off()

我正在使用 [pROC 包][https://cran.r-project.org/web/packages/pROC/pROC.pdf] 通过交叉验证从随机森林模型生成图。每次折叠都在 for 循环内执行,并计算该曲线的 ROC,然后将其添加到 ROC 对象列表中。训练结束时,森林被合并。我通过向 [ggroc][https://www.rdocumentation.org/packages/pROC/versions/1.18.4/topics/ggroc.roc] 提供 roc 对象列表来绘制特定于折叠的 ROC。然后,ggroc() 应该为每个折叠的 roc 绘制一条曲线,此处为教程。这个问题似乎特定于我提供的数据,因此我无法重现该图。为什么 ROC 是非单调的?这应该是不可能的,而且我用来生成模型的代码非常简单。我可能做错了什么?

r ggplot2 plot random-forest roc
1个回答
0
投票

pROC 包的作者在他们的 github 上回答了这个问题,并提供了修复程序。问题在这里:https://github.com/xrobin/pROC/issues/121

© www.soinside.com 2019 - 2024. All rights reserved.