SMOTE-Tomek
When you’re training a classifier on rare events—fraud, disease, churn—the model can get “lazy” and learn to predict the majority class because it wins on accuracy. SMOTE-Tomek is a practical way to rebalance the training data while also cleaning up messy class boundaries.
What it is and how it works
SMOTE-Tomek combines two steps: SMOTE (Synthetic Minority Over-sampling Technique) and Tomek links undersampling. First, SMOTE generates synthetic minority examples by interpolating between a minority point and its nearest minority neighbors in feature space. This increases minority coverage without simply duplicating rows. Then Tomek links identify pairs of nearest neighbors that belong to opposite classes; such pairs typically sit right on the decision boundary or reflect overlap/noise. The method removes samples from these Tomek pairs (commonly the majority-class member, sometimes both), which “cleans” the boundary after oversampling.
Why it matters in supervised learning
Pure oversampling can create more borderline collisions between classes, and pure undersampling can throw away useful majority information. SMOTE-Tomek aims for a better trade-off:
- Improves minority recall by giving the model more minority structure to learn.
- Reduces class overlap by removing ambiguous nearest-neighbor conflicts.
- Helps many classifiers (e.g., logistic regression, SVMs, tree ensembles) form a cleaner separating surface.
Where you’ll see it in practice
In credit-card fraud detection, SMOTE-Tomek can add realistic synthetic fraud-like points while removing majority transactions that are “too close” to fraud cases, making the learner less biased toward “not fraud.” In Python, it’s commonly used via imbalanced-learn:
from imblearn.combine import SMOTETomek
X_res, y_res = SMOTETomek(random_state=42).fit_resample(X, y)
SMOTE-Tomek is a hybrid resampling method for imbalanced classification that combines SMOTE (synthetic minority over-sampling) with Tomek links removal (deleting borderline majority/minority neighbor pairs) to both increase minority representation and clean class overlap. It matters because it can improve classifier decision boundaries and reduce bias toward the majority class by addressing imbalance and noisy boundary samples in one preprocessing step.
Imagine you’re trying to learn what “fraud” looks like, but you only have a few fraud examples and tons of normal ones. It’s like trying to spot a rare bird after seeing it only twice. SMOTE-Tomek is a practical way to make that training set more balanced and less messy.
The “SMOTE” part creates extra, made-up (but realistic) examples of the rare class, so the model gets more chances to learn it. The “Tomek” part then removes confusing pairs of examples that sit right on the border between classes, where labels are most likely to clash. Together, it helps a classifier learn cleaner decision boundaries.