首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROC的r编码

ROC的r编码
EN

Stack Overflow用户
提问于 2015-02-22 16:03:05
回答 1查看 802关注 0票数 3

我很难将ROC的示例命令转换到我的数据集。这是用于pROC包的

这是使用数据的示例(aSAH)

代码语言:javascript
复制
roc(aSAH$outcome, aSAH$s100b)
roc(outcome ~ s100b, aSAH)

所以..。应该将aSAH替换为我的数据集或数据子集的名称。对,是这样?

结果应该替换为我的结果变量名。对,是这样?

应该用我的预测变量名替换s100b。对,是这样?如果我没有一个预测变量,而是试图确定一棵树的ROC,怎么办?我确实试图用树的名称替换s100b,但这也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2015-02-22 16:51:18

在R中的roc命令中,第一个参数是实际观察到的响应,第二个参数是模型的分数。为了绘制roc曲线,最简单的方法是应用roc曲线,并将结果存储在其他变量中--让我们称之为分析。然后,需要从变量分析中提取灵敏度和1-特异性,因为这是我们需要的曲线。这可以在绘图命令中完成:

代码语言:javascript
复制
plot(1-analysis$specificities,analysis$sensitivities,type="l")

请看一看这张图,看看结果在R下面,你可以找到这条曲线的R码,并把它应用到你的问题上。请注意,在开始时我模拟了数据。

代码语言:javascript
复制
rm(list = ls()) # clear work space
##Simulate Data
set.seed(123456)
n <- 10000
q <- 0.8

#Simulate predictions
Real <- c(sample(c(0,1), n/2, replace = TRUE, prob = c(1-q,q)),
    sample(c(0,1), n/2, replace = TRUE, prob = c(0.7,0.3)))

#Simulate Response
p <- c(rep(seq(0.4,0.9, length=100), 50),
rep(seq(0.2,0.6, length=100), 50))
p <- data.frame(cbind(Real, p))

#install and load package
install.packages("pROC")
library(pROC)

#apply roc function
analysis <- roc(response=p$Real, predictor=p$p)

#Plot ROC Curve
plot(1-analysis$specificities,analysis$sensitivities,type="l",
ylab="Sensitiviy",xlab="1-Specificity",col="black",lwd=2,
main = "ROC Curve for Simulated Data")
abline(a=0,b=1)
abline(v = opt_t) #add optimal t to ROC curve
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28660837

复制
相关文章

相似问题

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