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 -> ResamplingSpCVBlock

Public fields

blocks

sf | list of sf objects
Polygons (sf objects) as returned by blockCV which grouped observations into partitions.

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

Examples

if (mlr3misc::require_namespaces(c("sf", "blockCV"), quietly = TRUE)) { library(mlr3) task = tsk("ecuador") # Instantiate Resampling rcv = rsmp("spcv_block", range = 1000L) 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 }
#> row_id fold #> 1: 1 4 #> 2: 2 9 #> 3: 3 5 #> 4: 4 8 #> 5: 5 5 #> --- #> 747: 747 10 #> 748: 748 8 #> 749: 749 7 #> 750: 750 3 #> 751: 751 1