Using smote_variants
in R
All the implemented oversampling techniques can be called from R using the reticulate
package. It needs a distinct, working Python installation, which then takes care about the conversion of data back and forth. Supposing that an Anaconda installation is available in the home directory of the user, with smote_variants
and imbalanced_databases
(to load imbalanced datasets easily) installed, the following R code works flawlessly.
library(reticulate)
python_path <- file.path(file.expand('~'), 'anaconda3', 'bin', 'python')
virtualenv_name <- 'base'
use_python(python_path)
use_virtualenv(virtualenv_name)
imbd <- import("imbalanced_databases")
sv <- import("smote_variants")
data <- imbalanced_databases$load_iris0()
sv$SMOTE()$sample(data$data, data$target)