imbalanced-learn

Python library for handling imbalanced datasets with sampling techniques.

EstablishedOpen SourceLow lock-in

Pricing

See website

Flat rate

Adoption

Stable

License

Open Source

Data freshness

Overview

What is imbalanced-learn?

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.

Key differentiator

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.

Capability profile

Strength Radar

Various over-sam…Under-sampling m…Pipeline integra…

Honest assessment

Strengths & Weaknesses

↑ Strengths

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

Fit analysis

Who is it for?

✓ Best 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.

✕ Not a fit for

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.

Cost structure

Pricing

Free Tier

None

Starts at

See website

Model

Flat rate

Enterprise

None

Performance benchmarks

How Fast Is It?

Next step

Get Started with imbalanced-learn

Step-by-step setup guide with code examples and common gotchas.

View Setup Guide →