I am trying to solve a multi-class imbalance classification problem. For that, I am using SMOTE for oversampling and OSS for under-sampling. But I have a doubt as I am working on multi-class so I have to convert it into binary classification. So we can convert it using OVA/OAA. So how can I use OVA/OAA with both under-sampling and oversampling on the same data-set?
If you convert your problem to a binary classification task, you do not need to worry about any conflict with re-sampling techniques. You can then just use the
imblearn.combine which combines Oversampling and under-sampling in one algorithm. There are classes available for this but I have found
SMOTEENN to produce better results. SMOTEENN
I am not sure why you need to convert your classification task to binary sub-tasks. Using the SMOTE/SMOTEENN libraries in Python, you can oversample/undersample all of the classes in one line of code. Also, if you have categorical features in your feature set, you may need to take a look at SMOTE-NC approach too, as SMOTE and SMOTEENN are purely distance-based and underestimate the role and value of Categorical features.