kfold_xval: k-fold cross-validation

View source: R/kfold_xval_class.R

kfold_xvalR Documentation

k-fold cross-validation

Description

k-fold cross-validation is an iterative approach applied to validate models. The samples are divided into k "folds", or subsets. Each subset is excluded from model training and used for model validation once, resulting in a single left-out prediction for each sample. Model performance metrics are then computed for the training and test sets across all folds.

Usage

kfold_xval(folds = 10, method = "venetian", factor_name, collect = NULL, ...)

Arguments

folds

(numeric, integer) The number of cross-validation folds. The default is 10.

method

(character) Fold selection method. Allowed values are limited to the following:

  • "venetian": Every nth sample is assigned to the same fold, where n is the number of folds.

  • "blocks": Blocks of adjacent samples are assigned to the same fold.

  • "random": Samples are randomly assigned to a fold.

The default is "venetian".

factor_name

(character) The name of a sample-meta column to use.

collect

(NULL, character) The name of a model output to collect over all bootstrap repetitions, in addition to the input metric. The default is NULL.

...

Additional slots and values passed to struct_class.

Value

A kfold_xval object with the following output slots:

results (data.frame)
metric (data.frame)
metric.train (numeric)
metric.test (numeric)
collected (list)

Inheritance

A kfold_xval object inherits the following struct classes:

⁠[kfold_xval]⁠ >> ⁠[resampler]⁠ >> ⁠[iterator]⁠ >> ⁠[struct_class]⁠

Examples

M = kfold_xval(
      folds = 5,
      method = "random",
      factor_name = "V1",
      collect = NULL)

D = iris_DatasetExperiment()
I = kfold_xval(factor_name='Species') *
    (mean_centre() + PLSDA(factor_name='Species'))
I = run(I,D,balanced_accuracy())


computational-metabolomics/structToolbox documentation built on Feb. 12, 2024, 2:15 a.m.