Spatial Block Cross validation implemented by the blockCV package.

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. doi: 10.1101/357798 .

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

Inherited 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.

Examples

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 }
#> row_id rep fold #> 1: 1 1 3 #> 2: 2 1 3 #> 3: 3 1 3 #> 4: 4 1 3 #> 5: 5 1 3 #> --- #> 1840: 918 2 1 #> 1841: 919 2 2 #> 1842: 920 2 1 #> 1843: 921 2 1 #> 1844: 922 2 1