Skip to contents

Splits data repeats (default: 10) times using a folds-fold (default: 10) cross-validation.

The iteration counter translates to repeats blocks of folds cross-validations, i.e., the first folds iterations belong to a single cross-validation.

Iteration numbers can be translated into folds or repeats with provided methods.

Dictionary

This Resampling can be instantiated via the dictionary mlr_resamplings or with the associated sugar function rsmp():

mlr_resamplings$get("repeated_cv")
rsmp("repeated_cv")

Parameters

  • repeats (integer(1))
    Number of repetitions.

  • folds (integer(1))
    Number of folds.

References

Bischl B, Mersmann O, Trautmann H, Weihs C (2012). “Resampling Methods for Meta-Model Validation with Recommendations for Evolutionary Computation.” Evolutionary Computation, 20(2), 249–275. doi:10.1162/evco_a_00069 .

See also

Super class

mlr3::Resampling -> ResamplingRepeatedCV

Active bindings

iters

(integer(1))
Returns the number of resampling iterations, depending on the values stored in the param_set.

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method folds()

Translates iteration numbers to fold numbers.

Usage

ResamplingRepeatedCV$folds(iters)

Arguments

iters

(integer())
Iteration number.

Returns

integer() of fold numbers.


Method repeats()

Translates iteration numbers to repetition numbers.

Usage

ResamplingRepeatedCV$repeats(iters)

Arguments

iters

(integer())
Iteration number.

Returns

integer() of repetition numbers.


Method clone()

The objects of this class are cloneable with this method.

Usage

ResamplingRepeatedCV$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Create a task with 10 observations
task = tsk("penguins")
task$filter(1:10)

# Instantiate Resampling
repeated_cv = rsmp("repeated_cv", repeats = 2, folds = 3)
repeated_cv$instantiate(task)
repeated_cv$iters
#> [1] 6
repeated_cv$folds(1:6)
#> [1] 1 2 3 1 2 3
repeated_cv$repeats(1:6)
#> [1] 1 1 1 2 2 2

# Individual sets:
repeated_cv$train_set(1)
#> [1]  3  6  8  5  7 10
repeated_cv$test_set(1)
#> [1] 1 2 4 9

# Disjunct sets:
intersect(repeated_cv$train_set(1), repeated_cv$test_set(1))
#> integer(0)

# Internal storage:
repeated_cv$instance # table
#>     row_id   rep  fold
#>      <int> <int> <int>
#>  1:      1     1     1
#>  2:      2     1     1
#>  3:      3     1     2
#>  4:      4     1     1
#>  5:      5     1     3
#>  6:      6     1     2
#>  7:      7     1     3
#>  8:      8     1     2
#>  9:      9     1     1
#> 10:     10     1     3
#> 11:      1     2     2
#> 12:      2     2     3
#> 13:      3     2     1
#> 14:      4     2     3
#> 15:      5     2     1
#> 16:      6     2     3
#> 17:      7     2     2
#> 18:      8     2     1
#> 19:      9     2     2
#> 20:     10     2     1
#>     row_id   rep  fold