Oversampling for Imbalanced Learning Based on K-Means and SMOTE
This addresses a common problem in machine learning where standard classifiers perform poorly on imbalanced data, though it appears incremental as it combines existing techniques.
The paper tackles class imbalance in supervised learning by proposing a new oversampling method combining k-means clustering and SMOTE, which avoids generating noise and improves classification results across 71 datasets.
Learning from class-imbalanced data continues to be a common and challenging problem in supervised learning as standard classification algorithms are designed to handle balanced class distributions. While different strategies exist to tackle this problem, methods which generate artificial data to achieve a balanced class distribution are more versatile than modifications to the classification algorithm. Such techniques, called oversamplers, modify the training data, allowing any classifier to be used with class-imbalanced datasets. Many algorithms have been proposed for this task, but most are complex and tend to generate unnecessary noise. This work presents a simple and effective oversampling method based on k-means clustering and SMOTE oversampling, which avoids the generation of noise and effectively overcomes imbalances between and within classes. Empirical results of extensive experiments with 71 datasets show that training data oversampled with the proposed method improves classification results. Moreover, k-means SMOTE consistently outperforms other popular oversampling methods. An implementation is made available in the python programming language.