gpt4 book ai didi

r - 为 R 中的逻辑回归模型绘制多条 ROC 曲线

转载 作者:行者123 更新时间:2023-12-05 09:22:21 25 4
gpt4 key购买 nike

我有一个逻辑回归模型(使用 R)作为

fit6 <- glm(formula = survived ~ ascore + gini + failed, data=records, family = binomial)
summary(fit6)

我正在使用 pROC 包来绘制 ROC 曲线并计算 fit1 到 fit6 的 6 个模型的 AUC。

我已经采用这种方式来绘制一个 ROC。

prob6=predict(fit6,type=c("response"))
records$prob6 = prob6
g6 <- roc(survived~prob6, data=records)
plot(g6)

但有没有一种方法可以将所有 6 条曲线的 ROC 组合在一个图中并显示所有曲线的 AUC,如果可能的话还显示置信区间。

最佳答案

您可以使用 plot 函数的 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 曲线来做。其他人将不得不填写那个的详细信息。对不起。希望其余的有所帮助。

关于r - 为 R 中的逻辑回归模型绘制多条 ROC 曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com