如何仅给出线性回归方程,在R中绘制ROC曲线

问题描述 投票:1回答:1

我试图在R中绘制一条ROC曲线并找到它下面的面积(AUC),只给出一个回归方程。

通常,当我有GLM时,我会使用命令predict来执行此操作。例如:

library("pROC")
lin_mod <- glm(y ~ p + q, family = "...", data = dat_sd)
prob <- predict(lin_mod, type = c("response"))

模型的系数是0.3(截距), - 0.07(p)和0.11(q)。为了绘制ROC并找到AUC,我使用

plot(roc(dat_sd$y, prob), print.auc = TRUE)

但是,当我只有方程时,命令不起作用:

library("pROC")    
lin_mod <- 0.3 - 0.07 * dat_sd$p + 0.11 * dat_sd$q
predict(lin_mod, type = c("response"))

输出

Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "c('double', 'numeric')"

如何成功绘制曲线(并找到区域)?

r plot linear-regression roc auc
1个回答
1
投票

以下行是您已预测的数据响应:

lin_mod <- 0.3 - 0.07 * dat_sd$p + 0.11 * dat_sd$q

只需将响应变量直接传递给pROC:

plot(roc(dat_sd$y, lin_mod), print.auc = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.