Geometric SMOTE algorithm.
Project description
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 release also in Anaconda Cloud platform:
conda install -c conda-forge 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/IMS-ML-Lab/geometric-smote.git cd geometric-smote pip install .
Or install using pip and GitHub:
pip install -U git+https://github.com/IMS-ML-Lab/geometric-smote.git
Testing
After installation, you can use pytest to run the test suite:
make coverage
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:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for geometric_smote-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f39f1e7c8917429bd58db2249cf9b24b154ef09060460bb7f934ec3eadadfde |
|
MD5 | 2e24c6e3247de85a95e42c9b44530945 |
|
BLAKE2b-256 | cd5b3abc5bd88c3e8450e835527b23cf4d062376b738b3eb327701343cb5aae7 |