绘制ROC曲线并在特定截止信息处计算R中的AUC

拉姆·T

给定这样的数据:SN =灵敏度;SP =特异性

Cutpoint        SN   1-SP
       1       0.5    0.1
       2       0.7    0.2
       3       0.9    0.6

如何绘制ROC曲线并计算AUC。并比较两个不同ROC曲线之间的AUC。在大多数pROC或ROCR软件包中,数据输入与上面显示的不同。有人可以建议用R或其他方法解决此问题的方法吗?

ROCsdat <- data.frame(cutpoint = c(5, 7, 9), TPR = c(0.56, 0.78, 0.91), FPR = c(0.01, 0.19, 0.58))

## plot version 1
op <- par(xaxs = "i", yaxs = "i")
plot(TPR ~ FPR, data = dat, xlim = c(0,1), ylim = c(0,1), type = "n")
with(dat, lines(c(0, FPR, 1), c(0, TPR, 1), type = "o", pch = 25, bg = "black"))
text(TPR ~ FPR, data = dat, pos = 3, labels = dat$cutpoint)
abline(0, 1)
par(op)
冷静

首先,我建议您访问当地的图书馆,并找到有关R的入门书籍。拥有坚实的基础很重要,然后您才能编写自己的代码,并在互联网上找到粘贴粘贴的代码而不真正理解其含义。风险最大。

关于您的问题,我相信(0,0)和(1,1)坐标是ROC曲线的一部分,因此我将它们包括在数据中:

ROCsdat <- data.frame(cutpoint = c(-Inf, 5, 7, 9, Inf), TPR = c(0, 0.56, 0.78, 0.91, 1), FPR = c(0, 0.01, 0.19, 0.58, 1)) 

AUC

我强烈建议您在R的此阶段培训中不要设置自己的梯形积分功能。它太容易出错,容易被小错误(语法错误)弄乱。

而是使用完善的集成代码,例如中的trapz函数pracma

library(pracma)
trapz(ROCsdat$FPR, ROCsdat$TPR)

绘图

我想您大部分都可以得到绘图,尽管我会略有不同地写出来:

plot(TPR ~ FPR, data = ROCsdat, xlim = c(0,1), ylim = c(0,1), type="b", pch = 25, bg = "black")
text(TPR ~ FPR, data = ROCsdat, pos = 3, labels = ROCsdat$cutpoint)
abline(0, 1, col="lightgrey")

比较方式

为了进行比较,假设您在auc1和中有两个AUC auc2if / else语法如下所示:

if (auc1 < auc2) {
    cat("auc1 < auc2!\n")
} else if (auc1 == auc2) {
    cat("aucs are identical!\n")
} else {
    cat("auc1 > auc2!\n")
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R获得AUC并同时绘制多条ROC曲线

来自分类Dev

使用R中的AUC包更改ROC截止值

来自分类Dev

如何使用 AUC 绘制 ROC 曲线?

来自分类Dev

ggplot计算中的ROC曲线[r]

来自分类Dev

从scikit-learn(sklearn)中的多类数据计算AUC和ROC曲线?

来自分类Dev

在R中为逻辑回归模型绘制多条ROC曲线

来自分类Dev

根据R中的交叉验证(训练)数据绘制ROC曲线

来自分类Dev

如何使用Keras神经网络分类器在KFold交叉验证中绘制每个折叠的ROC_AUC曲线

来自分类Dev

使用ROC曲线为我的R中的加权二元logistic回归(glm)查找最佳截止

来自分类Dev

R:pROC软件包:在特定范围内绘制ROC曲线?

来自分类Dev

在R中编写函数以使用pROC绘制ROC曲线

来自分类Dev

元素的ROC曲线计算

来自分类Dev

如何使用pROC或ROCR包从R中的预测类概率计算ROC曲线下的面积?

来自分类Dev

在ROC图上添加AUC 0.8的任意曲线

来自分类Dev

ROC曲线的AUC值显示差异(spss)

来自分类Dev

在ROC图上添加AUC 0.8的任意曲线

来自分类Dev

在scikit中绘制ROC曲线仅产生3个点

来自分类Dev

如何从给定值绘制rStudios中的ROC曲线?

来自分类Dev

绘制最近质心的 ROC 曲线

来自分类Dev

在pROC中与ROC曲线一起打印的AUC极限小数

来自分类Dev

如何使用r中的ROCR软件包绘制ROC曲线*仅带有分类列联表*

来自分类Dev

在R中使用脱字符训练后,如何在ROC下计算ROC和AUC?

来自分类Dev

如何在R中填写ROC图的AUC?

来自分类Dev

使用for循环和pROC软件包计算R中的多个ROC曲线。在预测变量字段中使用什么变量?

来自分类Dev

如何使用matplotlib / python绘制ROC曲线

来自分类Dev

如何使用matplotlib / python绘制ROC曲线

来自分类Dev

在R中绘制逻辑回归曲线

来自分类Dev

在R中绘制多个序列曲线

来自分类Dev

当我使用更多变量时,为什么ROC中的曲线下面积(AUC)会减小?

Related 相关文章

  1. 1

    R获得AUC并同时绘制多条ROC曲线

  2. 2

    使用R中的AUC包更改ROC截止值

  3. 3

    如何使用 AUC 绘制 ROC 曲线?

  4. 4

    ggplot计算中的ROC曲线[r]

  5. 5

    从scikit-learn(sklearn)中的多类数据计算AUC和ROC曲线?

  6. 6

    在R中为逻辑回归模型绘制多条ROC曲线

  7. 7

    根据R中的交叉验证(训练)数据绘制ROC曲线

  8. 8

    如何使用Keras神经网络分类器在KFold交叉验证中绘制每个折叠的ROC_AUC曲线

  9. 9

    使用ROC曲线为我的R中的加权二元logistic回归(glm)查找最佳截止

  10. 10

    R:pROC软件包:在特定范围内绘制ROC曲线?

  11. 11

    在R中编写函数以使用pROC绘制ROC曲线

  12. 12

    元素的ROC曲线计算

  13. 13

    如何使用pROC或ROCR包从R中的预测类概率计算ROC曲线下的面积?

  14. 14

    在ROC图上添加AUC 0.8的任意曲线

  15. 15

    ROC曲线的AUC值显示差异(spss)

  16. 16

    在ROC图上添加AUC 0.8的任意曲线

  17. 17

    在scikit中绘制ROC曲线仅产生3个点

  18. 18

    如何从给定值绘制rStudios中的ROC曲线?

  19. 19

    绘制最近质心的 ROC 曲线

  20. 20

    在pROC中与ROC曲线一起打印的AUC极限小数

  21. 21

    如何使用r中的ROCR软件包绘制ROC曲线*仅带有分类列联表*

  22. 22

    在R中使用脱字符训练后,如何在ROC下计算ROC和AUC?

  23. 23

    如何在R中填写ROC图的AUC?

  24. 24

    使用for循环和pROC软件包计算R中的多个ROC曲线。在预测变量字段中使用什么变量?

  25. 25

    如何使用matplotlib / python绘制ROC曲线

  26. 26

    如何使用matplotlib / python绘制ROC曲线

  27. 27

    在R中绘制逻辑回归曲线

  28. 28

    在R中绘制多个序列曲线

  29. 29

    当我使用更多变量时,为什么ROC中的曲线下面积(AUC)会减小?

热门标签

归档