Type: Package
Title: Fast AUC Computation
Version: 0.1.3
Maintainer: Christos Adam <econp266@econ.soc.uoc.gr>
Description: Fast calculation of Area Under Curve (AUC) metric of a Receiver Operating Characteristic (ROC) curve, using the algorithm of Fawcett (2006) <doi:10.1016/j.patrec.2005.10.010>. Therefore it is appropriate for large-scale AUC metric calculations.
License: GPL-3
Imports: Rcpp (≥ 1.0.13), RcppParallel (≥ 5.1.9)
LinkingTo: Rcpp, RcppArmadillo, RcppParallel
Encoding: UTF-8
SystemRequirements: GNU make
Suggests: Rfast, Rfast2, knitr, rmarkdown, testthat (≥ 3.0.0)
VignetteBuilder: knitr, rmarkdown
Config/testthat/edition: 3
URL: https://github.com/cadam00/lightAUC, https://cadam00.github.io/lightAUC/
BugReports: https://github.com/cadam00/lightAUC/issues
NeedsCompilation: yes
Packaged: 2025-05-01 20:13:17 UTC; Administrator
Author: Christos Adam ORCID iD [aut, cre]
Repository: CRAN
Date/Publication: 2025-05-01 20:30:02 UTC

Fast AUC computation

Description

Fast and memory efficient AUC computation.

Usage

lightAUC(probs, actuals, parallel = FALSE, cores = 2)

Arguments

probs

numeric vector containing probability from the model, where closer to 1 is for the positive class and closer to 0 is for the negative class.

actuals

integer, numeric or logical vector with the actual data, where is 1 for the positive class and 0 for the negative class.

parallel

logical indicating if multithreading should be used. The default is no multithreading (parallel = FALSE).

cores

integer indicating the number of threads to be used when parallel = TRUE. The default is cores=2, meaning that 2 cores are used.

Details

Binary AUC computation according to Fawcett (2006) doi:10.1016/j.patrec.2005.10.010.

Value

numeric value representing the AUC metric.

References

Fawcett, T. (2006). An introduction to ROC analysis. Pattern Recognition Letters, 27(8), 861–874. doi:10.1016/j.patrec.2005.10.010

Examples

probs   <- c(1, 0.4, 0.8)
actuals <- c(0, 0, 1)
lightAUC(probs, actuals)

probs   <- c(1, 0.4, 0.8)
actuals <- c(FALSE, FALSE, TRUE)
lightAUC(probs, actuals)

probs   <- c(1, 0.4, 0.8)
actuals <- c(0, 0, 1)
lightAUC(probs, actuals, parallel = TRUE, cores = 2L)