Getting Started#
Prerequisites#
imbalanced-learn
requires the following dependencies:
Python (>= 3.10)
NumPy (>= 1.24.3)
SciPy (>= 1.10.1)
Scikit-learn (>= 1.3.2)
Pytest (>= 7.2.2)
Additionally, imbalanced-learn
requires the following optional dependencies:
Pandas (>= 1.5.3) for dealing with dataframes
Tensorflow (>= 2.13.1) for dealing with TensorFlow models
Keras (>= 3.0.5) for dealing with Keras models
The examples will requires the following additional dependencies:
Matplotlib (>= 3.7.3)
Seaborn (>= 0.12.2)
Install#
From PyPi or conda-forge repositories#
imbalanced-learn is currently available on the PyPi’s repositories and you can
install it via pip
:
pip install imbalanced-learn
The package is released also on the conda-forge repositories and you can install
it with conda
(or mamba
):
conda install -c conda-forge imbalanced-learn
Intel optimizations via scikit-learn-intelex#
Imbalanced-learn relies entirely on scikit-learn algorithms. Intel provides an optimized version of scikit-learn for Intel hardwares, called scikit-learn-intelex. Installing scikit-learn-intelex and patching scikit-learn will activate the Intel optimizations.
You can refer to the following blog post for some benchmarks.
Refer to the following documentation for instructions:
From source available on GitHub#
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/scikit-learn-contrib/imbalanced-learn.git
cd imbalanced-learn
pip install .
Be aware that you can install in developer mode with:
pip install --no-build-isolation --editable .
If you wish to make pull-requests on GitHub, we advise you to install pre-commit:
pip install pre-commit
pre-commit install
Test and coverage#
You want to test the code before to install:
$ make test
You wish to test the coverage of your version:
$ make coverage
You can also use pytest
:
$ pytest imblearn -v
Contribute#
You can contribute to this code through Pull Request on GitHub. Please, make sure that your code is coming with unit tests to ensure full coverage and continuous integration in the API.