How scikit-learn-contrib/imbalanced-learn works
imbalanced-learn is a scikit-learn-compatible toolkit for resampling imbalanced classification data. A typical user supplies training data to a sampler or an imbalanced-learn pipeline; the pipeline applies resampling steps before fitting or using a classifier, and the user can assess predictions with imbalance-aware metrics. The package also provides combined samplers, balanced ensembles, dataset utilities, specialized cross-validation, and optional Keras/TensorFlow batch generators. The tree and excerpts support these capabilities, but do not expose the wiring of every unsampled algorithm, so only documented relationships are shown.
Main entry points: base.py Sampler interface · _generator.py Keras batches · pipeline.py Estimator pipeline · over_sampling Oversampling
Components 20
Training workflow
- Estimator pipeline
imblearn/pipeline.py - Sampler interface
imblearn/base.py
Resampling methods
- Oversampling
imblearn/over_sampling - Undersampling
imblearn/under_sampling - Combined sampling
imblearn/combine - SMOTE family
imblearn/over_sampling/_smote/base.py - Balanced ensembles
imblearn/ensemble
Learning utilities
- Classification metrics
imblearn/metrics/_classification.py - Pairwise metrics
imblearn/metrics/pairwise.py - Hardness CV
imblearn/model_selection/_split.py - Dataset utilities
imblearn/datasets
Model integrations
- Keras batches
imblearn/keras/_generator.py - TensorFlow batches
imblearn/tensorflow/_generator.py
Other components
- ML practitioner
- Training data
- Classifier
- Predictions
- Dataset sources
- Keras model
- TensorFlow model
Connections 24
- ML practitioner → Estimator pipeline: configures
- ML practitioner → Training data: provides
- Training data → Estimator pipeline: supplies training data
- Estimator pipeline → Sampler interface: runs resampling steps
- Sampler interface → Oversampling: resamples
- Sampler interface → Undersampling: resamples
- Sampler interface → Combined sampling: resamples
- Oversampling → SMOTE family: includes
- Estimator pipeline → Classifier: fits or predicts
- Classifier → Predictions: returns
- ML practitioner → Classification metrics: evaluates predictions
- Predictions → Classification metrics: scores
- ML practitioner → Pairwise metrics: evaluates distances
- ML practitioner → Hardness CV: requests folds
- Hardness CV → Classifier: estimates hardness with
- ML practitioner → Dataset utilities: requests data
- Dataset utilities → Dataset sources: downloads datasets
- ML practitioner → Keras batches: requests balanced batches
- Keras batches → Oversampling: uses sampler
- Keras batches → Undersampling: uses sampler
- Keras batches → Keras model: supplies batches
- ML practitioner → TensorFlow batches: requests balanced batches
- TensorFlow batches → TensorFlow model: supplies batches
- Balanced ensembles → Undersampling: uses undersampling