作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经生成了一些分数来帮助预测某事是 (1) 还是否 (0),假设数据包括:
scores = c(10:20)
response = c(0,0,1,0,1,0,1,1,0,1,1)
mydata = data.frame(scores, response)
我可以进行 ROC 分析,其 AUC 为 0.77:
roc(response = mydata$response, predictor = mydata$scores)
现在,我如何准确地看到选择各种截止值时会发生什么?我想在 x 轴上设置截止值(比如 13、14、15、16、17),在 y 轴上设置 PPV。这样做的好方法是什么?我需要什么功能/包?
最佳答案
我将根据 pROC 包给出答案*。使用 ROCR 包也可以获得类似的结果。
您想使用 coords
函数,它可以在某些给定的阈值下计算几个常见的统计数据。例如,为了获得所有阈值的 PPV,您可以执行以下操作:
library(pROC)
r <- roc(response = response, predictor = scores)
coordinates <- coords(r, x = "all", input = "threshold", ret = c("threshold", "ppv"))
然后您可以绘制这些值:
plot(t(coordinates))
将 "all"
替换为感兴趣的阈值:
coordinates <- coords(r, x = c(13, 14, 15, 16, 17), input = "threshold", ret = c("threshold", "ppv"))
* 免责声明:我是 pROC 包的作者。
关于r - 如何生成阳性预测值 (PPV) 与各种分类截止点的关系图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43459084/
我是一名优秀的程序员,十分优秀!