Learn R Programming

SDMtune (version 1.1.1)

auc: AUC

Description

Compute the AUC using the Man-Whitney U Test formula.

Usage

auc(model, test = NULL)

Arguments

model

An '>SDMmodel or '>SDMmodelCV object.

test

'>SWD object when model is an '>SDMmodel object; logical or '>SWD object when model is an '>SDMmodelCV object. If not provided it computes the training AUC, see details. Default is NULL.

Value

The value of the AUC.

Details

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.

References

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.

See Also

aicc and tss.

Examples

Run this code
# NOT RUN {
# 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)

# Compute the testing AUC
auc(model, test = test)

# }
# NOT RUN {
# 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)

# Compute the testing AUC
auc(model, test = TRUE)

# Compute the AUC for the held apart testing dataset
auc(model, test = test)
# }

Run the code above in your browser using DataLab