首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从我在R中生成的ROC曲线中找到实际的截止值?

如何从我在R中生成的ROC曲线中找到实际的截止值?
EN

Stack Overflow用户
提问于 2022-10-26 18:56:23
回答 1查看 44关注 0票数 1

我熟悉如何用R.中的pROC库创建ROC曲线,我的代码如下所示:

代码语言:javascript
复制
glmfit <- glm(Y ~ X1 + X2 +..., family = binomial(), data = df)
roc_in_sample <- roc(df$Y, predict(glmfit, newdata = df, type = "response"))

这将给我一个ROC对象,我可以绘制我的ROC曲线的敏感性与1-特异性。

我的问题是,如何从这条曲线中得到实际的临界值?比如说,我在曲线上找了一个灵敏度和特异性都是80%的点。如何从该模型中提取实际截止值,其灵敏度和特异性为80%?

我并不是在寻求我所能做出的最佳选择的指导。我只想知道如何找到我将在我的报告中列出的实际截止值。例如,我希望能够说出这样的话:“我的模型确定了0.567概率的截止值将给我们80%的灵敏度和80%的特异性”(这些是假设的值;这正是我需要说的那种事情)。我如何在R中得到这个pROC函数或者其他什么?

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 09:12:23

您需要从您的threshold对象中找到最接近期望概率的roc槽,并返回回复sensitivityspecificity

代码语言:javascript
复制
library(pROC)
r <- roc(aSAH$outcome, aSAH$s100b,
           levels=c("Good", "Poor"))
prob <- .8
idx <- which.min((tail(head(r$thresholds, -1L), -1L) - prob) ^ 2)
c(r$specificities[idx], r$sensitivities[idx])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74212922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档