EasyDeepLearn

How exactly does SMOTE generate synthetic minority-class samples?

medium

Answer

  • For each minority-class point x, find its k nearest minority-class neighbours (default k=5).
  • Pick one at random; call it x'.
  • Generate a synthetic point xnew  =  x  +  λ    (x    x)x_{\mathrm{new}}\; = \;x\; + \;\lambda\; \cdot \;(x\; - \;x) where lambda is uniform in [0, 1] — a random interpolation on the segment between two real minority points.
  • Repeat until the desired oversampling ratio is met.
  • Works only on continuous features (interpolation makes no sense for categoricals — use SMOTE-NC or SMOTE-N variants for mixed / categorical data).
Check yourself — multiple choice
  • Duplicate minority-class rows
  • Linearly interpolate between a minority point and one of its k-NN minority neighbours
  • Add Gaussian noise to majority points
  • Randomly generate points in the whole feature space

SMOTE: interpolate along the segment between two real minority-class kNN points.

#imbalance#feature-engineering

Practise Supervised Learning

215 interview questions in this topic.

Related questions