Learn R Programming

mlr3spatiotempcv (version 0.1.1)

ResamplingRepeatedSpCVBlock: Repeated Spatial Cross Validation Resampling

Description

Spatial Block Cross validation implemented by the blockCV package.

Arguments

Super class

mlr3::Resampling -> ResamplingRepeatedSpCVBlock

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 "coordinate-based" repeated resampling instance.

Usage

ResamplingRepeatedSpCVBlock$new(id = "repeated_spcv_block")

Arguments

id

character(1) Identifier for the resampling strategy.

Method folds()

Translates iteration numbers to fold number.

Usage

ResamplingRepeatedSpCVBlock$folds(iters)

Arguments

iters

integer() Iteration number.

Method repeats()

Translates iteration numbers to repetition number.

Usage

ResamplingRepeatedSpCVBlock$repeats(iters)

Arguments

iters

integer() Iteration number.

Method instantiate()

Materializes fixed training and test splits for a given task.

Usage

ResamplingRepeatedSpCVBlock$instantiate(task)

Arguments

task

Task A task to instantiate.

Method clone()

The objects of this class are cloneable with this method.

Usage

ResamplingRepeatedSpCVBlock$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("diplodia")

  # Instantiate Resampling
  rrcv = rsmp("repeated_spcv_block",
    folds = 3, repeats = 2,
    range = c(5000, 10000))
  rrcv$instantiate(task)

  # Individual sets:
  rrcv$iters
  rrcv$folds(1:6)
  rrcv$repeats(1:6)

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

  # Internal storage:
  rrcv$instance # table
}
# }

Run the code above in your browser using DataLab