【问题标题】:Plot multiple ROC curves on one plot?在一个图上绘制多条 ROC 曲线?
【发布时间】:2016-02-07 11:59:03
【问题描述】:

我想循环比较几个逻辑回归模型。 并在一张图表中打印几条 ROC 曲线。 我怎么能做到这一点? 例如,对于一个模型,它看起来像

pred_fit4 <- prediction(workData$pred,workData3$value)
perf_fit4 <- performance(pred_fit4,"tpr","fpr")
roc <- plot(perf_fit4,colorize = T, print.cutoffs.at = seq(0,1),)

及其曲线输出如下:

我怎样才能添加一个新行? 好像

for (...) {
.......
.......
    pred_fit4 <- prediction(workData$pred,workData3$value)
    perf_fit4 <- performance(pred_fit4,"tpr","fpr")
    #need add line on exist chart
    roc <- plot(perf_fit4,colorize = T , print.cutoffs.at = seq(0,1),)
}

【问题讨论】:

  • 你看过这样的东西吗:par(mfrow=c(nrow,ncol))?其中 nrow 和 ncol 定义绘图网格
  • 欢迎来到 SO。您应该能够使用lines()(帮助?lines)将线条添加到现有的基础图中。 SO上有很多这样的例子。请养成提供最少可复制 (!) 示例以便复制和粘贴的习惯,以便其他人可以使用它,
  • 这是你想要完成的吗? statmethods.net/advgraphs/layout.html
  • 当你说“添加新行”时,你的意思是从(0,0)到(1,1)的the "line of no-discrimination" , 或者 (0,0) 到 (0.32,1), 或者在哪里?

标签: r plot roc


【解决方案1】:

这是使用包 pROC。您可以创建一个 ROC 对象,然后使用线条添加到同一个图表中,并根据需要添加任意数量的 ROC。

obj.rpart1=roc(label1 ~ p1.rpart, smooth = T)
obj.rpart2=roc(label1 ~ p1.rpart, smooth = T)
plot(obj.rpart)
lines(obj.rpart2)

【讨论】:

    猜你喜欢
    • 2019-02-27
    • 2012-12-14
    • 1970-01-01
    • 2021-03-03
    • 2020-01-25
    • 1970-01-01
    • 2019-09-16
    • 2018-11-29
    • 2016-02-04
    相关资源
    最近更新 更多