Learn R Programming

SDMtune (version 0.2.1)

tss: True Skill Statistics

Description

Compute the max TSS of a given model.

Usage

tss(model, test = NULL)

Arguments

model

'>SDMmodel or '>SDMmodelCV object.

test

'>SWD object for '>SDMmodel object. Logical or '>SWD object for '>SDMmodelCV objects, if not provided it computes the train TSS, see details. Default is NULL.

Value

The value of the TSS of the given model.

Details

For '>SDMmodelCV objects, the function computes the mean of the training TSS values of the k-folds. If test = TRUE it computes the mean of the testing TSS values for the k-folds. If test is an '>SWD object, it computes the mean TSS values for the provided testing dataset.

References

Allouche O., Tsoar A., Kadmon R., (2006). Assessing the accuracy of species distribution models: prevalence, kappa and the true skill statistic (TSS). Journal of Applied Ecology, 43(6), 1223<U+2013>1232.

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 TSS
tss(model)

# Compute the testing TSS
tss(model, test)

# }
# NOT RUN {
# Same example but using cross validation instead of training and testing
# datasets
# Create 4 random folds splitting only the presence locations
folds = randomFolds(data, k = 4, only_presence = TRUE)
model <- train(method = "Maxnet", p = presence, a = bg, fc = "l",
               folds = folds)

# Compute the training TSS
TSS(model)

# Compute the testing TSS
TSS(model, test = TRUE)

# Compute the TSS for the held apart testing dataset
tss(model, test = test)
# }

Run the code above in your browser using DataLab