我在 R 中使用 caTools 包来获取 R 中的 AUC。直到现在我发现当概率翻转时它返回相同的 AUC。这不是真的正确(见下面的例子)。这是否有任何理论上的理由?
library(caTools)
p <- runif(100)
y <- rep(0,100)
y[p>0.5] <- 1
caTools::colAUC(p,y)
# [,1]
#0 vs. 1 1
caTools::colAUC(1-p,y)
# [,1]
#0 vs. 1 1
使用 ROCR 包时,结果看起来符合预期。
library(ROCR)
pred.rocr <- ROCR::prediction(p, y)
auc.perf <- ROCR::performance(pred.rocr, measure = "auc")
unlist(auc.perf@y.values)
#[1] 1
pred.rocr <- ROCR::prediction(1-p, y)
auc.perf <- ROCR::performance(pred.rocr, measure = "auc")
unlist(auc.perf@y.values)
#[1] 0
我将不胜感激任何建议,谢谢!