Learn R Programming

caret (version 6.0-24)

downSample: 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")

upSample(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 TRUE, the output will be coerced to a data frame.
yname
if list = FALSE, a label for the class column

Value

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

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 of the original data are left intact and additional samples are added to the minority classes with replacement.

Examples

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

upSample(fattyAcids, oilType)

Run the code above in your browser using DataLab