smote_and_undersample: SMOTE oversampling and undersampling
Description
Function to both oversample by SMOTE the minority class and undersample the majority class
Usage
smote_and_undersample(data, y, fp = 1, ratio = 1, k = 5)
Arguments
data
a data frame or matrix. Rows: examples; columns: features
y
a factor with the labels. 0:majority class, 1: minority class.
fp
multiplicative factor for the SMOTE oversampling of the minority class.
If fp<1 no oversampling is performed.
ratio
ratio of the #majority/#minority
k
number of the nearest neighbours for SMOTE oversampling (def. 5)
Value
A list with two entries:
X
a data frame including the original minority class examples plus the SMOTE oversampled and undersampled data
Y
a factor with the labels of the data frame
Details
If n is the number of examples of the minority class, then fp*n new synthetic examples are generated according to the SMOTE algorithm and ratio*(fp*n + n) negative examples are undersampled form the majority class.