
Assign Data to One of n_folds Randomly and Produce Training/Validation Data Lists
Source:R/cv_schemas.R
cv_random_schema.RdEach row in the data are assigned to one of 1:n_folds at random.
Then for each of i in 1:n_folds, the training_data[[i]]
is comprised of the data with sl_fold != i, i.e., capturing
roughly (n-folds-1)/n_folds proportion of the data. The validation data
is a list of dataframes, each comprising of roughly 1/n_folds proportion of the
data.
Value
A list of two lists ($training_data and $validation_data)
which are each lists of length n_folds. In each of those entries is a
data.frame that contains the nth training or validation fold of the data.
Details
Since the assignment to folds is random, the proportions are not
exact or guaranteed and there is some variability in the size of
each training_data data frame, and likewise for the validation_data
data frames.
Examples
data(Boston, package = "MASS")
training_validation_data <- cv_random_schema(Boston, n_folds = 3)
# take a look at what's in the output:
str(training_validation_data, max.level = 2)
#> List of 2
#> $ training_data :List of 3
#> ..$ :'data.frame': 338 obs. of 14 variables:
#> ..$ :'data.frame': 338 obs. of 14 variables:
#> ..$ :'data.frame': 336 obs. of 14 variables:
#> $ validation_data:List of 3
#> ..$ :'data.frame': 168 obs. of 14 variables:
#> ..$ :'data.frame': 168 obs. of 14 variables:
#> ..$ :'data.frame': 170 obs. of 14 variables: