gridSearch | R Documentation |
Given a set of possible hyperparameter values, the function trains models with all the possible combinations of hyperparameters.
gridSearch(
model,
hypers,
metric,
test = NULL,
env = NULL,
save_models = TRUE,
interactive = TRUE,
progress = TRUE
)
model |
SDMmodel or SDMmodelCV object. |
hypers |
named list containing the values of the hyperparameters that should be tuned, see details. |
metric |
character. The metric used to evaluate the models, possible values are: "auc", "tss" and "aicc". |
test |
SWD object. Testing dataset used to evaluate the model, not used with aicc and SDMmodelCV objects. |
env |
rast containing the environmental variables, used only with "aicc". |
save_models |
logical. If |
interactive |
logical. If |
progress |
logical. If |
To know which hyperparameters can be tuned you can use the output
of the function getTunableArgs. Hyperparameters not included in the
hypers
argument take the value that they have in the passed model.
An interactive chart showing in real-time the steps performed by the algorithm is displayed in the Viewer pane.
SDMtune object.
Sergio Vignali
randomSearch and optimizeModel.
# 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")
# Define the hyperparameters to test
h <- list(reg = 1:2,
fc = c("lqp", "lqph"))
# Run the function using the AUC as metric
output <- gridSearch(model,
hypers = h,
metric = "auc",
test = test)
output@results
output@models
# Order results by highest test AUC
output@results[order(-output@results$test_AUC), ]
# Run the function using the AICc as metric and without saving the trained
# models, helpful when numerous hyperparameters are tested to avoid memory
# problems
output <- gridSearch(model,
hypers = h,
metric = "aicc",
env = predictors,
save_models = FALSE)
output@results
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.