Undersampling is a popular method to solve imbalanced classification problems. However, sometimes it may remove too many majority samples which may lead to loss of informative samples. In this article, the hashing-based undersampling ensemble (HUE) is proposed to deal with this problem by constructing diversified training subspaces for undersampling. Samples in the majority class are divided into many subspaces by a hashing method. Each subspace corresponds to a training subset which consists of most of the samples from this subspace and a few samples from surrounding subspaces. These training subsets are used to train an ensemble of classification and regression tree classifiers with all minority class samples. The proposed method is tested on 25 UCI datasets against state-of-the-art methods. Experimental results show that the HUE outperforms other methods and yields good results on highly imbalanced datasets.
You can access to the paper with the following link: IEEE, PDF
$ pip install -r ./requirements.txt
You can read the run.py
file and do the same as that (e.g. change it how you want) then run the following command:
$ python ./run.py
Path | Description |
---|---|
data/ | selected datasets in order to evaluate the implementation |
ploting.py | Generate samples (circular) and plot and apply ITQ |
ensemble.py | Implementation of HashBasedUndersamplingEnsemble |
utils.py | useful functions like prapering data and evaluation |
run.py | Using the implemented proposed method on the datasets |
Datasets |
---|
abalone |
car |
flare-F |
glass |
ILPD |
letter |
seeds |
Skin |
wine |
yeast5 |
- we need to support labels other than 1 and -1
- improve the code