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.

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