Compute the Area Under the ROC Curve (AUC) of a predictor and possibly its 95% confidence interval.

AUC(pred, target, digits = NULL) AUCBoot(pred, target, nboot = 10000, seed = NA, digits = NULL)

pred | Vector of predictions. |
---|---|

target | Vector of true labels (must have exactly two levels, no missing values). |

digits | See round. Default doesn't use rounding. |

nboot | Number of bootstrap samples used to evaluate the 95% CI.
Default is |

seed | See set.seed. Use it for reproducibility. Default doesn't set any seed. |

The AUC, a probability, and possibly its 2.5% and 97.5% quantiles (95% CI).

Other packages provide ways to compute the AUC (see this answer). I chose to compute the AUC through its statistical definition as a probability: $$P(score(x_{case}) > score(x_{control})).$$ Note that I consider equality between scores as a 50%-probability of one being greater than the other.

#> [1] 0.5#> [1] 1#> [1] 0.7926731#> Mean 2.5% 97.5% Sd #> 0.79333279 0.69267707 0.88535292 0.04971805# Partial AUC pAUC <- function(pred, target, p = 0.1) { val.min <- min(target) q <- quantile(pred[target == val.min], probs = 1 - p) ind <- (target != val.min) | (pred > q) bigstatsr::AUC(pred[ind], target[ind]) * p } pAUC(x, y)#> [1] 0.008148148pAUC(x, y, 0.2)#> [1] 0.05473251