randomSearch: Random Search

Description Usage Arguments Details Value Author(s) Examples

View source: R/randomSearch.R

Description

The function performs a random search in the hyperparameters space, creating a population of random models each one with a random combination of the provided hyperparameters values.

Usage

1
2
3
4
5
6
7
8
9
randomSearch(
  model,
  hypers,
  metric,
  test = NULL,
  pop = 20,
  env = NULL,
  seed = NULL
)

Arguments

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. Test dataset used to evaluate the model, not used with aicc and SDMmodelCV objects, default is NULL.

pop

numeric. Size of the population, default is 20.

env

stack containing the environmental variables, used only with "aicc", default is NULL.

seed

numeric. The value used to set the seed to have consistent results, default is NULL.

Details

Value

SDMtune object.

Author(s)

Sergio Vignali

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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")

# Define the hyperparameters to test
h <- list(reg = seq(0.2, 3, 0.2), fc = c("lqp", "lqph", "lh"))

# Run the function using as metric the AUC
output <- randomSearch(model, hypers = h, metric = "auc", test = test,
                       pop = 10, seed = 25)
output@results
output@models
# Order results by highest test AUC
output@results[order(-output@results$test_AUC), ]

SDMtune documentation built on July 17, 2021, 9:06 a.m.