downSample: Down- and Up-Sampling Imbalanced Data

View source: R/sampling.R

downSampleR Documentation

Down- and Up-Sampling Imbalanced Data

Description

downSample will randomly sample a data set so that all classes have the same frequency as the minority class. upSample samples with replacement to make the class distributions equal

Usage

downSample(x, y, list = FALSE, yname = "Class")

Arguments

x

a matrix or data frame of predictor variables

y

a factor variable with the class memberships

list

should the function return list(x, y) or bind x and y together? If FALSE, the output will be coerced to a data frame.

yname

if list = FALSE, a label for the class column

Details

Simple random sampling is used to down-sample for the majority class(es). Note that the minority class data are left intact and that the samples will be re-ordered in the down-sampled version.

For up-sampling, all the original data are left intact and additional samples are added to the minority classes with replacement.

Value

Either a data frame or a list with elements x and y.

Author(s)

Max Kuhn

Examples


## A ridiculous example...
data(oil)
table(oilType)
downSample(fattyAcids, oilType)

upSample(fattyAcids, oilType)



caret documentation built on March 31, 2023, 9:49 p.m.