我已经尝试了两种方法来绘制ROC曲线并获取每个ROC曲线的AUC。
方法1
- 第一种方法很简单,但我不知道如何同时绘制多个ROC曲线。我只是使用
roc.curve(hacide.test$cls, pred_rose[,2])
,输出将显示ROC曲线并给出AUC。
方法2
现在我可以同时绘制多个ROC曲线,但无法同时获取AUC。这是我绘制多个ROC曲线的方式:library(ROCR)
pd1 <- prediction(pred_rose[,2], hacide.test$cls)
pf1 <- performance(pd1, "tpr","fpr")
pd2 <- prediction(pred_both[,2], hacide.test$cls)
pf2 <- performance(pd2, "tpr","fpr")
plot(pf1, colorize = TRUE)
plot(pf2, add = TRUE, colorize = TRUE)
这是我获取AUC的方法:
pf <- performance(pd3, "auc")
pf # y.values is the AUC
您可以看到,当我使用第二种方法时,用于获取ROC曲线和AUC的performance()
方法不同。此处的pf1、pf2输出没有AUC值。
方法1更简单,但您知道如何使用方法1一起绘制ROC曲线并仍然保留每个AUC值吗?