# Acquire environmental variables
files <- list.files(path = file.path(system.file(package = "dismo"), "ex"),
pattern = "grd",
full.names = TRUE)
predictors <- terra::rast(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 = test)
# Same example but using cross validation instead of training and
# testing datasets. Create 4 random folds splitting only the presence
# locations
folds = randomFolds(train,
k = 4,
only_presence = TRUE)
model <- train(method = "Maxnet",
data = train,
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