# SMOTE vs Stratified Sampling in highly imbalanced dataset - classification

I am working on a project with the goal of predicting Cerebral strokes from brain arteries data (speed of blood, resistance etc. of one artery and of the neighboring ones).

I have a dataset with labeled data but it's highly imbalanced: patients with stroke represent a minority, hence the models (tried RF, & some boosting) predicting always 'non stroke'.

I am looking for the most efficient ways for dealing with that, and these are my options:

1. Tackle class imbalance - SMOTE or Stratified sampling? what are the differences between these two?

2. [BONUS] Tackle through a loss function penalizing false negative over FP - any idea of an efficient way to do that?

• You don't want to classify, you want to predict risk. Resampling the minority is going to ruin your risk estimates because the prevalence is different than what is observed in the population. See my answer here (stats.stackexchange.com/questions/558942/…) for more. Mar 31 at 22:41
• – Dave
Apr 1 at 1:22

Lastly I would advise against using SMOTE for modern classifiers that can accommodate unequal misclassification costs (like the SVM where you can have different $$C$$ values for the positive and negative classes) and which have a means of dealing with overfitting (again for the SVM the $$C$$ parameters and also the kernel parameters). The SVM has a lot of theory behind it, but the regularisation implemented by SMOTE by blurring the training examples is only heuristic and is only really likely to be beneficial if you are using a very basic classifier, like a decision tree.