mlr_resamplings_spcv_tiles {mlr3spatiotempcv} | R Documentation |
(sperrorest) Spatial "Tiles" resampling
Description
Spatial partitioning using rectangular tiles.
Small partitions can optionally be merged into adjacent ones to avoid
partitions with too few observations.
This method is similar to ResamplingSpCVBlock
by making use of
rectangular zones in the coordinate space.
See the upstream implementation at sperrorest::partition_disc()
and
Brenning (2012) for further information.
Parameters
-
dsplit
(integer(2)
)
Equidistance of splits in (possibly rotated) x direction (dsplit[1]
) and y direction (dsplit[2]
) used to define tiles. If dsplit is of length 1, its value is recycled. Eitherdsplit
ornsplit
must be specified. -
nsplit
(integer(2)
)
Number of splits in (possibly rotated) x direction (nsplit[1]
) and y direction (nsplit[2]
) used to define tiles. Ifnsplit
is of length 1, its value is recycled. -
rotation
(character(1)
)
Whether and how the rectangular grid should be rotated; random rotation is only possible between -45 and +45 degrees. Accepted values: One ofc("none", "random", "user")
. -
user_rotation
(character(1)
)
Only used whenrotation = "user"
. Angle(s) (in degrees) by which the rectangular grid is to be rotated in each repetition. Either a vector of same length asrepeats
, or a single number that will be replicatedlength(repeats)
times. -
offset
(logical(1)
)
Whether and how the rectangular grid should be shifted by an offset. Accepted values: One ofc("none", "random", "user")
. -
user_offset
(logical(1)
)
Only used whenoffset = "user"
. A list (or vector) of two components specifying a shift of the rectangular grid in (possibly rotated) x and y direction. The offset values are relative values, a value of 0.5 resulting in a one-half tile shift towards the left, or upward. If this is a list, its first (second) component refers to the rotated x (y) direction, and both components must have same length asrepeats
(or length 1). If a vector of length 2 (or list components have length 1), the two values will be interpreted as relative shifts in (rotated) x and y direction, respectively, and will therefore be recycled as needed (length(repeats)
times each). -
reassign
(logical(1)
)
IfTRUE
, 'small' tiles (as permin_frac
andmin_n
) are merged with (smallest) adjacent tiles. IfFALSE
, small tiles are 'eliminated', i.e., set toNA.
-
min_frac
(numeric(1)
)
Value must be >=0, <1. Minimum relative size of partition as percentage of sample. -
min_n
(integer(1)
)
Minimum number of samples per partition. -
iterate
(integer(1)
)
Passed down tosperrorest::tile_neighbors()
.
Super class
mlr3::Resampling
-> ResamplingSpCVTiles
Active bindings
iters
integer(1)
Returns the number of resampling iterations, depending on the values stored in theparam_set
.
Methods
Public methods
Inherited methods
Method new()
Create a "Spatial 'Tiles' resampling" resampling instance.
Usage
ResamplingSpCVTiles$new(id = "spcv_tiles")
Arguments
id
character(1)
Identifier for the resampling strategy. For a list of available arguments, please see sperrorest::partition_tiles.
Method instantiate()
Materializes fixed training and test splits for a given task.
Usage
ResamplingSpCVTiles$instantiate(task)
Arguments
task
Task
A task to instantiate.
Method clone()
The objects of this class are cloneable with this method.
Usage
ResamplingSpCVTiles$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
References
Brenning A (2012). “Spatial cross-validation and bootstrap for the assessment of prediction rules in remote sensing: The R package sperrorest.” In 2012 IEEE International Geoscience and Remote Sensing Symposium. doi:10.1109/igarss.2012.6352393.
See Also
ResamplingSpCVBlock
Examples
if (mlr3misc::require_namespaces("sperrorest", quietly = TRUE)) {
library(mlr3)
task = tsk("ecuador")
# Instantiate Resampling
rcv = rsmp("spcv_tiles", nsplit = c(4L, 3L), reassign = FALSE)
rcv$instantiate(task)
# Individual sets:
rcv$train_set(1)
rcv$test_set(1)
# check that no obs are in both sets
intersect(rcv$train_set(1), rcv$test_set(1)) # good!
# Internal storage:
rcv$instance # table
}