我有一个逻辑回归模型(使用R)作为
fit6 <- glm(formula = survived ~ ascore + gini + failed, data=records, family = binomial)
summary(fit6)
我正在使用pROC
包来绘制ROC曲线并计算6个模型fit1到fit6的AUC。
我已经采用这种方式来绘制一个ROC。
prob6=predict(fit6,type=c("response"))
records$prob6 = prob6
g6 <- roc(survived~prob6, data=records)
plot(g6)
但有没有办法可以在一个图中为所有6条曲线组合ROC并显示所有这些曲线的AUC,如果可能的话还可以显示置信区间。
答案 0 :(得分:7)
您可以使用绘图函数的add = TRUE
参数绘制多条ROC曲线。
制作一些假数据
library(pROC)
a=rbinom(100, 1, 0.25)
b=runif(100)
c=rnorm(100)
获取模型
fit1=glm(a~b+c, family='binomial')
fit2=glm(a~c, family='binomial')
预测您训练模型的相同数据(或者根据需要保留一些以进行测试)
preds=predict(fit1)
roc1=roc(a ~ preds)
preds2=predict(fit2)
roc2=roc(a ~ preds2)
绘制它。
plot(roc1)
plot(roc2, add=TRUE, col='red')
这会在同一个图上产生不同的拟合。你可以通过roc1$auc
获得ROC曲线的AUC,并且可以使用基础R绘图中的text()
函数添加它,或者可以只将它放在图例中。
我不知道如何量化置信区间...或者如果这甚至是你可以用ROC曲线做的事情。其他人将不得不填写那个细节。抱歉。希望其余的帮助。