我很难将ROC的示例命令转换到我的数据集。这是用于pROC包的
这是使用数据的示例(aSAH)
roc(aSAH$outcome, aSAH$s100b)
roc(outcome ~ s100b, aSAH)所以..。应该将aSAH替换为我的数据集或数据子集的名称。对,是这样?
结果应该替换为我的结果变量名。对,是这样?
应该用我的预测变量名替换s100b。对,是这样?如果我没有一个预测变量,而是试图确定一棵树的ROC,怎么办?我确实试图用树的名称替换s100b,但这也不起作用。
发布于 2015-02-22 16:51:18
在R中的roc命令中,第一个参数是实际观察到的响应,第二个参数是模型的分数。为了绘制roc曲线,最简单的方法是应用roc曲线,并将结果存储在其他变量中--让我们称之为分析。然后,需要从变量分析中提取灵敏度和1-特异性,因为这是我们需要的曲线。这可以在绘图命令中完成:
plot(1-analysis$specificities,analysis$sensitivities,type="l")请看一看这张图,看看结果在R下面,你可以找到这条曲线的R码,并把它应用到你的问题上。请注意,在开始时我模拟了数据。

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 curvehttps://stackoverflow.com/questions/28660837
复制相似问题