For every minority example, its k (which is set to 5 in SMOTE) nearest
neighbors of the same class are calculated, then some examples are randomly selected
from them according to the over-sampling rate. After that, new synthetic examples are
generated along the line between the minority example and its selected nearest
neighbors.