Imbalanced-learn

Latest version: v0.13.0

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 7

0.8.1

September 29, 2021

Maintenance

Make imbalanced-learn compatible with scikit-learn 1.0. 864 by Guillaume Lemaitre.

0.8.0

**February 18, 2021**

Changelog

New features

- Add the the function `imblearn.metrics.macro_averaged_mean_absolute_error` returning the average across class of the MAE. This metric is used in ordinal classification. 780 by Aurélien Massiot.
- Add the class `imblearn.metrics.pairwise.ValueDifferenceMetric` to compute pairwise distances between samples containing only categorical values. 796 by Guillaume Lemaitre.
- Add the class `imblearn.over_sampling.SMOTEN` to over-sample data only containing categorical features. 802 by Guillaume Lemaitre.
- Add the possibility to pass any type of samplers in `imblearn.ensemble.BalancedBaggingClassifier` unlocking the implementation of methods based on resampled bagging. 808 by Guillaume Lemaitre.

Enhancements

- Add option `output_dict` in `imblearn.metrics.classification_report_imbalanced` to return a dictionary instead of a string. 770 by Guillaume Lemaitre.
- Added an option to generate smoothed bootstrap in `imblearn.over_sampling.RandomOverSampler. It is controled by the parameter shrinkage. This method is also known as Random Over-Sampling Examples (ROSE). 754 by Andrea Lorenzon and Guillaume Lemaitre.

Bug fixes

- Fix a bug in `imblearn.under_sampling.ClusterCentroids` where `voting="hard"` could have lead to select a sample from any class instead of the targeted class. 769 by Guillaume Lemaitre.
- Fix a bug in `imblearn.FunctionSampler` where validation was performed even with `validate=False` when calling `fit`. 790 by Guillaume Lemaitre.

Maintenance

- Remove requirements files in favour of adding the packages in the `extras_require` within the `setup.py` file. 816 by Guillaume Lemaitre.
- Change the website template to use `pydata-sphinx-theme`. 801 by Guillaume Lemaitre.

Deprecation

- The context manager `imblearn.utils.testing.warns` is deprecated in 0.8 and will be removed 1.0. 815 by Guillaume Lemaitre.

0.7.0

A release to bump the minimum version of scikit-learn to 0.23 with a couple of bug fixes.
Check the what's new for more information.

0.6.2

This is a bug-fix release to resolve some issues regarding the handling the input and the output format of the arrays.

Changelog
-------------

* Allow column vectors to be passed as targets. 673 by chkoar.
* Better input/output handling for pandas, numpy and plain lists. 681 by chkoar.

0.6.1

This is a bug-fix release to primarily resolve some packaging issues in version 0.6.0. It also includes minor documentation improvements and some bug fixes.

Changelog
--------------

Bug fixes
------------

- Fix a bug in :class:`imblearn.ensemble.BalancedRandomForestClassifier` leading to a wrong number of samples used during fitting due max_samples and therefore a bad computation of the OOB score. :pr:`656` by :user:`Guillaume Lemaitre <glemaitre>`.

0.6.0

Changelog
---------

Changed models
..............

The following models might give some different sampling due to changes in
scikit-learn:

- :class:`imblearn.under_sampling.ClusterCentroids`
- :class:`imblearn.under_sampling.InstanceHardnessThreshold`

The following samplers will give different results due to change linked to
the random state internal usage:

- :class:`imblearn.over_sampling.SMOTENC`

Bug fixes
.........

- :class:`imblearn.under_sampling.InstanceHardnessThreshold` now take into
account the `random_state` and will give deterministic results. In addition,
`cross_val_predict` is used to take advantage of the parallelism.
:pr:`599` by :user:`Shihab Shahriar Khan <Shihab-Shahriar>`.

- Fix a bug in :class:`imblearn.ensemble.BalancedRandomForestClassifier`
leading to a wrong computation of the OOB score.
:pr:`656` by :user:`Guillaume Lemaitre <glemaitre>`.

Maintenance
...........

- Update imports from scikit-learn after that some modules have been privatize.
The following import have been changed:
:class:`sklearn.ensemble._base._set_random_states`,
:class:`sklearn.ensemble._forest._parallel_build_trees`,
:class:`sklearn.metrics._classification._check_targets`,
:class:`sklearn.metrics._classification._prf_divide`,
:class:`sklearn.utils.Bunch`,
:class:`sklearn.utils._safe_indexing`,
:class:`sklearn.utils._testing.assert_allclose`,
:class:`sklearn.utils._testing.assert_array_equal`,
:class:`sklearn.utils._testing.SkipTest`.
:pr:`617` by :user:`Guillaume Lemaitre <glemaitre>`.

- Synchronize :mod:`imblearn.pipeline` with :mod:`sklearn.pipeline`.
:pr:`620` by :user:`Guillaume Lemaitre <glemaitre>`.

- Synchronize :class:`imblearn.ensemble.BalancedRandomForestClassifier` and add
parameters `max_samples` and `ccp_alpha`.
:pr:`621` by :user:`Guillaume Lemaitre <glemaitre>`.

Enhancement
...........

- :class:`imblearn.under_sampling.RandomUnderSampling`,
:class:`imblearn.over_sampling.RandomOverSampling`,
:class:`imblearn.datasets.make_imbalance` accepts Pandas DataFrame in and
will output Pandas DataFrame. Similarly, it will accepts Pandas Series in and
will output Pandas Series.
:pr:`636` by :user:`Guillaume Lemaitre <glemaitre>`.

- :class:`imblearn.FunctionSampler` accepts a parameter ``validate`` allowing
to check or not the input ``X`` and ``y``.
:pr:`637` by :user:`Guillaume Lemaitre <glemaitre>`.

- :class:`imblearn.under_sampling.RandomUnderSampler`,
:class:`imblearn.over_sampling.RandomOverSampler` can resample when non
finite values are present in ``X``.
:pr:`643` by :user:`Guillaume Lemaitre <glemaitre>`.

- All samplers will output a Pandas DataFrame if a Pandas DataFrame was given
as an input.
:pr:`644` by :user:`Guillaume Lemaitre <glemaitre>`.

- The samples generation in
:class:`imblearn.over_sampling.SMOTE`,
:class:`imblearn.over_sampling.BorderlineSMOTE`,
:class:`imblearn.over_sampling.SVMSMOTE`,
:class:`imblearn.over_sampling.KMeansSMOTE`,
:class:`imblearn.over_sampling.SMOTENC` is now vectorize with giving
an additional speed-up when `X` in sparse.
:pr:`596` by :user:`Matt Eding <MattEding>`.

Deprecation
...........

- The following classes have been removed after 2 deprecation cycles:
`ensemble.BalanceCascade` and `ensemble.EasyEnsemble`.
:pr:`617` by :user:`Guillaume Lemaitre <glemaitre>`.

- The following functions have been removed after 2 deprecation cycles:
`utils.check_ratio`.
:pr:`617` by :user:`Guillaume Lemaitre <glemaitre>`.

- The parameter `ratio` and `return_indices` has been removed from all
samplers.
:pr:`617` by :user:`Guillaume Lemaitre <glemaitre>`.

- The parameters `m_neighbors`, `out_step`, `kind`, `svm_estimator`
have been removed from the :class:`imblearn.over_sampling.SMOTE`.
:pr:`617` by :user:`Guillaume Lemaitre <glemaitre>`.

Page 3 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.