Learn R Programming

mlr (version 2.10)

oversample: Over- or undersample binary classification task to handle class imbalancy.

Description

Oversampling: For a given class (usually the smaller one) all existing observations are taken and copied and extra observations are added by randomly sampling with replacement from this class. Undersampling: For a given class (usually the larger one) the number of observations is reduced (downsampled) by randomly sampling without replacement from this class.

Usage

oversample(task, rate, cl = NULL)

undersample(task, rate, cl = NULL)

Arguments

task
[Task] The task.
rate
[numeric(1)] Factor to upsample or downsample a class. For undersampling: Must be between 0 and 1, where 1 means no downsampling, 0.5 implies reduction to 50 percent and 0 would imply reduction to 0 observations. For oversampling: Must be between 1 and Inf, where 1 means no oversampling and 2 would mean doubling the class size.
cl
[character(1)] Which class should be over- or undersampled. If NULL, oversample will select the smaller and undersample the larger class.

Value

[Task].

See Also

Other imbalancy: makeOverBaggingWrapper, makeUndersampleWrapper, smote