Learn R Programming

mlr3spatiotempcv (version 0.1.1)

ResamplingSpCVBlock: Spatial Block Cross Validation Resampling

Description

Spatial Block Cross validation implemented by the blockCV package.

Arguments

Super class

mlr3::Resampling -> ResamplingSpCVBlock

Active bindings

iters

integer(1) Returns the number of resampling iterations, depending on the values stored in the param_set.

Methods

Public methods

Method new()

Create an "Environmental Block" resampling instance.

Usage

ResamplingSpCVBlock$new(id = "spcv_block")

Arguments

id

character(1) Identifier for the resampling strategy.

Method instantiate()

Materializes fixed training and test splits for a given task.

Usage

ResamplingSpCVBlock$instantiate(task)

Arguments

task

Task A task to instantiate.

Method clone()

The objects of this class are cloneable with this method.

Usage

ResamplingSpCVBlock$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Details

By default blockCV::spatialBlock() does not allow the creation of multiple repetitions. mlr3spatiotempcv adds support for this when using the range argument for fold creation. When supplying a vector of length(repeats) for argument range, these different settings will be used to create folds which differ among the repetitions.

Multiple repetitions are not possible when using the "row & cols" approach because the created folds will always be the same.

References

Valavi R, Elith J, Lahoz-Monfort JJ, Guillera-Arroita G (2018). “blockCV: an R package for generating spatially or environmentally separated folds for k-fold cross-validation of species distribution models.” bioRxiv. 10.1101/357798.

Examples

Run this code
# NOT RUN {
if (mlr3misc::require_namespaces(c("sf", "blockCV"), quietly = TRUE)) {
  library(mlr3)
  task = tsk("ecuador")

  # Instantiate Resampling
  rcv = rsmp("spcv_block", range = 1000)
  rcv$instantiate(task)

  # Individual sets:
  rcv$train_set(1)
  rcv$test_set(1)
  intersect(rcv$train_set(1), rcv$test_set(1))

  # Internal storage:
  rcv$instance
}
# }

Run the code above in your browser using DataLab