Spatial Block Cross validation implemented by the blockCV
package.
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.
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 .
mlr3::Resampling
-> ResamplingSpCVBlock
blocks
sf | list of sf objects
Polygons (sf
objects) as returned by blockCV which grouped
observations into partitions.
iters
integer(1)
Returns the number of resampling iterations, depending on the
values stored in the param_set
.
new()
Create an "Environmental Block" resampling instance.
ResamplingSpCVBlock$new(id = "spcv_block")
id
character(1)
Identifier for the resampling strategy.
instantiate()
Materializes fixed training and test splits for a given task.
ResamplingSpCVBlock$instantiate(task)
task
Task
A task to instantiate.
clone()
The objects of this class are cloneable with this method.
ResamplingSpCVBlock$clone(deep = FALSE)
deep
Whether to make a deep clone.
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