2
$\begingroup$

I am looking into upsampling an imbalanced dataset for a regression problem (Numerical target variables) in python.

I attached paper and R package that implement SMOTE for regression, can anyone recommend a similar package in Python? Otherwise, what other methods can be use to upsample the numerical target variable?

SMOTE for Regression

smoteRegress: SMOTE algorithm for imbalanced regression problems

Update:

I found the following python library which implements Synthetic Minority Over-Sampling Technique for Regression with Gaussian Noise

smogn

$\endgroup$
  • $\begingroup$ the imblearn package implements the smote oversampling method $\endgroup$ – Victor Ng Mar 3 '20 at 21:47
  • $\begingroup$ @VictorNg but it does not allow continuous target variable. $\endgroup$ – thereandhere1 Mar 3 '20 at 22:53
  • $\begingroup$ oh right regression. i need to learn to read. would you lose too much information by binning the continuous variable into categories? $\endgroup$ – Victor Ng Mar 4 '20 at 2:48
  • 1
    $\begingroup$ Yes, I will lose much because I am trying to optimize the MSE $\endgroup$ – thereandhere1 Mar 4 '20 at 15:09
4
$\begingroup$

I think SMOGN will work for your problem. The method is described in a paper titled: "SMOGN: a Pre-processing Approach for Imbalanced Regression". You can find it on arXiv. There is also a python implementation called "SMOGN" which can be installed through PyPI. You can find the package description at https://pypi.org/project/smogn/

$\endgroup$
  • $\begingroup$ Thanks! I found out about the same package a few weeks ago. $\endgroup$ – thereandhere1 May 18 '20 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.