4
$\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$
4
  • $\begingroup$ the imblearn package implements the smote oversampling method $\endgroup$
    – Victor Ng
    Mar 3, 2020 at 21:47
  • $\begingroup$ @VictorNg but it does not allow continuous target variable. $\endgroup$ Mar 3, 2020 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, 2020 at 2:48
  • 1
    $\begingroup$ Yes, I will lose much because I am trying to optimize the MSE $\endgroup$ Mar 4, 2020 at 15:09

1 Answer 1

7
$\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$
1
  • $\begingroup$ Thanks! I found out about the same package a few weeks ago. $\endgroup$ May 18, 2020 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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