A payments team trains a fraud model on a year of transactions in which only a small share are fraudulent. A model can score high accuracy by predicting “not fraud” almost every time. SMOTE is one way to give the training data more fraud-like examples without copying the same records over and over.
SMOTE was introduced by Nitesh Chawla and colleagues in a 2002 paper in the Journal of Artificial Intelligence Research. The paper shows that combining their method of over-sampling the minority class with under-sampling the majority class can achieve better classifier performance in ROC space than under-sampling the majority class alone.
How SMOTE creates a synthetic example, as described in the imbalanced-learn over-sampling guide:
- pick a record from the rare class
- find its nearest neighbors among the other rare-class records
- choose one neighbor and create a new record at a random point on the line between the two
- repeat until the rare class reaches the share the team wants in the training data
How is SMOTE different from random oversampling?
- Random oversampling, or upsampling, duplicates existing rare-class records, so the model sees the same examples more often.
- SMOTE creates new points between existing rare-class records, so the added examples are similar but not identical.
- Under-sampling removes majority-class records, and class weighting keeps the data as is but penalizes errors on the rare class more. All four respond to an imbalanced dataset, and SMOTE is one form of data augmentation.
Where does SMOTE break in AI work?
SMOTE breaks when it is applied before the data is split. The imbalanced-learn guide to common pitfalls describes resampling the entire dataset before splitting it into training and test partitions as a common mistake that leaks information and makes reported performance over-optimistic. Synthetic records belong in the training data only, and the model should be scored on original records.
Synthetic points can also be unrealistic. Interpolating between two customers can produce combinations no real customer has, especially for categorical fields. The gain should be compared against simpler options on the original data, such as threshold tuning or class weighting. CUBIG’s Iranian Churn experiment lists minority-class augmentation among its preparation steps without fully documenting the algorithm; the write-up notes it did not compare that against threshold tuning or class weighting on the original data.
CUBIG Shorts
Plausible Rows Aren’t the Same as Useful Rows
A short take on synthetic rows: values can look reasonable on their own while the combinations are wrong for the task.