0
$\begingroup$

Is it good practice to always use SMOTE and random undersampling in an imbalanced multiclass dataset or are there exceptions? In context, I am using a traditional machine learning model (SVC) for multiclass text classification, and not a neural network. And what sampling strategies are the most common (e.g. average of all classes, oversample to the majority class)?

My project's class distribution

Here is the class distribution for the data in the project I'm currently working on for reference

$\endgroup$
5
  • $\begingroup$ Well, I encountered many problems where using SMOTE on my train didn't make my performance on Test better (sometime it's even been lower). It can be a solution, but don't use it if it's not helping you having a better model. Sometimes, just applying an algorithm handling inbalanced data can be way better in term of performance. $\endgroup$
    – Adept
    Oct 4, 2021 at 13:53
  • 1
    $\begingroup$ Why change the class ratio at all? // Harrell quite emphatically opposes SMOTE. $\endgroup$
    – Dave
    Oct 4, 2021 at 14:10
  • $\begingroup$ No, it's a terrible idea to use SMOTE or any resampling method systematically. Always start by fitting a model on the real distribution. If you really want to try resampling, always make sure that the resampling improves performance compared to the regular model. Also the imbalance in this dataset is very mild, it's not even worth trying any resampling imho. $\endgroup$
    – Erwan
    Oct 4, 2021 at 19:14
  • $\begingroup$ @BeamsAdept thanks for the tip. By "applying an algorithm handling imbalanced data" do you mean applying specified class weights in the parameters, or are there algorithms that inherently handle imbalanced classes? I am currently using the SVC model, after doing a GridSearchCV with other models like Bayes, RandomForest etc. $\endgroup$
    – mcnat1701
    Oct 5, 2021 at 6:21
  • $\begingroup$ Applying class_weight = 'balanced' is already quite good sometimes $\endgroup$
    – Adept
    Oct 5, 2021 at 7:12

0

Your Answer

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