Function that implements SMOTE (synthetic minority over-sampling technique)
ubSMOTE(X, Y, perc.over = 200, k = 5, perc.under = 200, verbose = TRUE)
- the input variables of the unbalanced dataset.
- the response variable of the unbalanced dataset. It must be a binary factor where the majority class is coded as 0 and the minority as 1.
- per.over/100 is the number of new instances generated for each rare instance. If perc.over < 100 a single instance is generated.
- the number of neighbours to consider as the pool from where the new examples are generated
- perc.under/100 is the number of "normal" (majority class) instances that are randomly selected for each smoted observation.
- print extra information (TRUE/FALSE)
Y must be a factor.
The function returns a list:
- input variables
- response variable
Original code from DMwR package
Chawla, Nitesh V., et al. "SMOTE: synthetic minority over-sampling technique." arXiv preprint arXiv:1106.1813 (2011).
library(unbalanced) data(ubIonosphere) n<-ncol(ubIonosphere) output<-ubIonosphere$Class input<-ubIonosphere[ ,-n] data<-ubSMOTE(X=input, Y= output) newData<-cbind(data$X, data$Y)
Looks like there are no examples yet.