Generates synthetic minority examples for a dataset trying to preserve the variance and mean of the minority class. Works on every type of dataset.

rwo(dataset, numInstances, classAttr = "Class")

Arguments

dataset

data.frame to treat. All columns, except classAttr one, have to be numeric or coercible to numeric.

numInstances

Integer. Number of new minority examples to generate.

classAttr

character. Indicates the class attribute from dataset. Must exist in it.

Value

A data.frame with the same structure as dataset, containing the generated synthetic examples.

Details

Generates numInstances new minority examples for dataset, adding to the each numeric column of the j-th example its variance scalated by the inverse of the number of minority examples and a factor following a \(N(0,1)\) distribution which depends on the example. When the column is nominal, it uses a roulette scheme.

References

Zhang, Huaxiang; Li, Mingfang. Rwo-Sampling: A Random Walk Over-Sampling Approach To Imbalanced Data Classification. Information Fusion 20 (2014), p. 99–116.

Examples

data(iris0) newSamples <- rwo(iris0, numInstances = 100, classAttr = "Class")