Compute the AUC using the Man-Whitney U Test formula.
auc(model, test = NULL)
model | An SDMmodel or SDMmodelCV object. |
---|---|
test | SWD object when |
The value of the AUC.
For SDMmodelCV objects, the function computes the mean
of the training AUC values of the k-folds. If test = TRUE
it computes the
mean of the testing AUC values for the k-folds. If test is an
SWD object, it computes the mean AUC values for the provided
testing dataset.
Mason, S. J. and Graham, N. E. (2002), Areas beneath the relative operating characteristics (ROC) and relative operating levels (ROL) curves: Statistical significance and interpretation. Q.J.R. Meteorol. Soc., 128: 2145-2166.
Sergio Vignali
# Acquire environmental variables files <- list.files(path = file.path(system.file(package = "dismo"), "ex"), pattern = "grd", full.names = TRUE) predictors <- raster::stack(files) # Prepare presence and background locations p_coords <- virtualSp$presence bg_coords <- virtualSp$background # Create SWD object data <- prepareSWD(species = "Virtual species", p = p_coords, a = bg_coords, env = predictors, categorical = "biome")#>#># Split presence locations in training (80%) and testing (20%) datasets datasets <- trainValTest(data, test = 0.2, only_presence = TRUE) train <- datasets[[1]] test <- datasets[[2]] # Train a model model <- train(method = "Maxnet", data = train, fc = "l") # Compute the training AUC auc(model)#> [1] 0.8411522# Compute the testing AUC auc(model, test = test)#> [1] 0.8352# \donttest{ # Same example but using cross validation instead of training and testing # datasets # Create the folds folds <- randomFolds(data, k = 4, only_presence = TRUE) model <- train(method = "Maxnet", data = data, fc = "l", folds = folds) # Compute the training AUC auc(model)#> [1] 0.8415831# Compute the testing AUC auc(model, test = TRUE)#> [1] 0.8344168# Compute the AUC for the held apart testing dataset auc(model, test = test)#> [1] 0.8393469# }