imbalanced-learn
Python library for handling imbalanced datasets with sampling techniques.
- Status
- Generally available
- Last checked
- Checked · Oct 10, 2026
- License
- Open source
- Pricing
- Free tier · from $0
What it is
imbalanced-learn is a Python module that provides various under-sampling and over-sampling techniques to handle imbalanced datasets, which are common in machine learning tasks. It helps improve model performance by balancing the class distribution.
imbalanced-learn stands out by offering a wide range of sampling techniques directly compatible with scikit-learn pipelines, making it easy to integrate into existing machine learning workflows without significant overhead.
When it fits — and when it doesn’t
A good fit for
Projects dealing with highly imbalanced datasets where minority classes are critical for model performance.
Developers looking to integrate sampling techniques directly into their scikit-learn pipelines.
Look elsewhere if
Real-time applications requiring immediate response as the library is designed for batch processing.
Scenarios where computational resources are extremely limited, given that some oversampling methods can be resource-intensive.
Known weaknesses
Each one links to the public issue, changelog or docs page it came from, where we have one.
- 01
Limited support for advanced techniques beyond SMOTE and ADASYN
The library primarily focuses on well-known methods like SMOTE and ADASYN, lacking more sophisticated or recent algorithms.
- 02
Poor documentation for complex use cases
Documentation is thorough for basic usage but lacks examples and explanations for advanced configurations and edge cases.
- 03
Performance issues with large datasets
Over-sampling techniques like SMOTE can be computationally expensive, leading to slow processing times on large datasets.
- 04
Limited integration support outside of scikit-learn ecosystem
While it integrates well with scikit-learn pipelines, support for other machine learning frameworks or libraries is minimal.
What it does well
Various over-sampling techniques like SMOTE, ADASYN
Under-sampling methods including Random Under-Sampling and Tomek Links
Pipeline integration with scikit-learn for seamless use in ML workflows
Pricing
- Free tier
- YesOpen source — free to use
- Paid from
- $0
- Model
- Flat rate
- Enterprise plan
- No
Pricing not independently confirmed — check the vendor’s page.
Performance benchmarks
How Fast Is It?
Set up imbalanced-learn
Setup steps, common gotchas and what to check after 30 days.