All Projects → georgedouzas → geometric-smote

georgedouzas / geometric-smote

Licence: MIT License
Implementation of the Geometric SMOTE over-sampling algorithm.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to geometric-smote

Awesome-of-Long-Tailed-Recognition
A curated list of long-tailed recognition resources.
Stars: ✭ 456 (+2180%)
Mutual labels:  imbalanced-learning
imbalance
ncordon.github.io/imbalance
Stars: ✭ 33 (+65%)
Mutual labels:  oversampling
well-classified-examples-are-underestimated
Code for the AAAI 2022 publication "Well-classified Examples are Underestimated in Classification with Deep Neural Networks"
Stars: ✭ 21 (+5%)
Mutual labels:  imbalanced-learning
SMOTE
Synthetic Minority Over-sampling Technique
Stars: ✭ 28 (+40%)
Mutual labels:  oversampling
imbalanced-regression
[ICML 2021, Long Talk] Delving into Deep Imbalanced Regression
Stars: ✭ 425 (+2025%)
Mutual labels:  imbalanced-learning
Class-Imbalance
《机器学习之类别不平衡问题》文章代码
Stars: ✭ 37 (+85%)
Mutual labels:  imbalanced-learning
oversimple
A library for audio oversampling, which tries to offer a simple api while wrapping HIIR, by Laurent De Soras, for minimum phase antialiasing, and r8brain-free-src, by Aleksey Vaneev, for linear phase antialiasing.
Stars: ✭ 25 (+25%)
Mutual labels:  oversampling
multi-imbalance
Python package for tackling multi-class imbalance problems. http://www.cs.put.poznan.pl/mlango/publications/multiimbalance/
Stars: ✭ 66 (+230%)
Mutual labels:  oversampling
mesa
NeurIPS’20 | Build powerful ensemble class-imbalanced learning models via meta-knowledge-powered resampler. | 设计元知识驱动的采样器解决类别不平衡问题
Stars: ✭ 88 (+340%)
Mutual labels:  imbalanced-learning
Class-Imbalance
Dealing with class imbalance problem in machine learning. Synthetic oversampling(SMOTE, ADASYN).
Stars: ✭ 31 (+55%)
Mutual labels:  oversampling
machine-learning-imbalanced-data
Code repository for the online course Machine Learning with Imbalanced Data
Stars: ✭ 94 (+370%)
Mutual labels:  imbalanced-learning
Parametric-Contrastive-Learning
Parametric Contrastive Learning (ICCV2021)
Stars: ✭ 155 (+675%)
Mutual labels:  imbalanced-learning
undergraduate-dissertation
Final career project on PAC theory and imbalanced datasets
Stars: ✭ 18 (-10%)
Mutual labels:  imbalanced-learning
imbalanced-ensemble
Class-imbalanced / Long-tailed ensemble learning in Python. Modular, flexible, and extensible. | 模块化、灵活、易扩展的类别不平衡/长尾机器学习库
Stars: ✭ 199 (+895%)
Mutual labels:  imbalanced-learning
AIML-Projects
Projects I completed as a part of Great Learning's PGP - Artificial Intelligence and Machine Learning
Stars: ✭ 85 (+325%)
Mutual labels:  oversampling
BalancedMetaSoftmax-Classification
[NeurIPS 2020] Balanced Meta-Softmax for Long-Tailed Visual Recognition
Stars: ✭ 106 (+430%)
Mutual labels:  imbalanced-learning
ResLT
ResLT: Residual Learning for Long-tailed Recognition (TPAMI 2022)
Stars: ✭ 40 (+100%)
Mutual labels:  imbalanced-learning
Face.evolve.pytorch
🔥🔥High-Performance Face Recognition Library on PaddlePaddle & PyTorch🔥🔥
Stars: ✭ 2,719 (+13495%)
Mutual labels:  imbalanced-learning

Travis AppVeyor Codecov CircleCI ReadTheDocs PythonVersion Pypi Conda DOI Black

geometric-smote

Implementation of the Geometric SMOTE algorithm [1], a geometrically enhanced drop-in replacement for SMOTE. It is compatible with scikit-learn and imbalanced-learn.

Documentation

Installation documentation, API documentation, and examples can be found on the documentation.

Dependencies

geometric-smote is tested to work under Python 3.6+. The dependencies are the following:

  • numpy(>=1.1)
  • scikit-learn(>=0.21)
  • imbalanced-learn(>=0.4.3)

Additionally, to run the examples, you need matplotlib(>=2.0.0) and pandas(>=0.22).

Installation

geometric-smote is currently available on the PyPi's repository and you can install it via pip:

pip install -U geometric-smote

The package is released also in Anaconda Cloud platform:

conda install -c algowit geometric-smote

If you prefer, you can clone it and run the setup.py file. Use the following commands to get a copy from GitHub and install all dependencies:

git clone https://github.com/AlgoWit/geometric-smote.git
cd geometric-smote
pip install .

Or install using pip and GitHub:

pip install -U git+https://github.com/AlgoWit/geometric-smote.git

Testing

After installation, you can use pytest to run the test suite:

make test

About

If you use geometric-smote in a scientific publication, we would appreciate citations to the following paper:

@article{Douzas2019,
  doi = {10.1016/j.ins.2019.06.007},
  url = {https://doi.org/10.1016/j.ins.2019.06.007},
  year = {2019},
  month = oct,
  publisher = {Elsevier {BV}},
  volume = {501},
  pages = {118--135},
  author = {Georgios Douzas and Fernando Bacao},
  title = {Geometric {SMOTE} a geometrically enhanced drop-in replacement for {SMOTE}},
  journal = {Information Sciences}
}

Classification of imbalanced datasets is a challenging task for standard algorithms. Although many methods exist to address this problem in different ways, generating artificial data for the minority class is a more general approach compared to algorithmic modifications. SMOTE algorithm [2], as well as any other oversampling method based on the SMOTE mechanism, generates synthetic samples along line segments that join minority class instances. Geometric SMOTE (G-SMOTE) is an enhancement of the SMOTE data generation mechanism. G-SMOTE generates synthetic samples in a geometric region of the input space, around each selected minority instance.

References:

[1]G. Douzas, F. Bacao, "Geometric SMOTE: a geometrically enhanced drop-in replacement for SMOTE", Information Sciences, vol. 501, pp. 118-135, 2019.
[2]N. V. Chawla, K. W. Bowyer, L. O. Hall, W. P. Kegelmeyer, "SMOTE: synthetic minority over-sampling technique", Journal of Artificial Intelligence Research, vol. 16, pp. 321-357, 2002.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].