Changelog
========
Bug fixes
---------
- Fix a bug in [SMOTENC](https://imbalanced-learn.org/dev/references/generated/imblearn.over_sampling.SMOTENC.html#imblearn.over_sampling.SMOTENC) where the entries of the one-hot encoding should be divided by sqrt(2) and not 2, taking into account that they are plugged into an Euclidean distance computation. [1014](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1014) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Raise an informative error message when all support vectors are tagged as noise in [SVMSMOTE](https://imbalanced-learn.org/dev/references/generated/imblearn.over_sampling.SVMSMOTE.html#imblearn.over_sampling.SVMSMOTE). [1016](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1016) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Fix a bug in [SMOTENC](https://imbalanced-learn.org/dev/references/generated/imblearn.over_sampling.SMOTENC.html#imblearn.over_sampling.SMOTENC) where the median of standard deviation of the continuous features was only computed on the minority class. Now, we are computing this statistic for each class that is up-sampled. [1015](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1015) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Fix a bug in [SMOTENC](https://imbalanced-learn.org/dev/references/generated/imblearn.over_sampling.SMOTENC.html#imblearn.over_sampling.SMOTENC) such that the case where the median of standard deviation of the continuous features is null is handled in the multiclass case as well. [1015](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1015) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Fix a bug in [BorderlineSMOTE](https://imbalanced-learn.org/dev/references/generated/imblearn.over_sampling.BorderlineSMOTE.html#imblearn.over_sampling.BorderlineSMOTE) version 2 where samples should be generated from the whole dataset and not only from the minority class. [1023](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1023) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Fix a bug in [NeighbourhoodCleaningRule](https://imbalanced-learn.org/dev/references/generated/imblearn.under_sampling.NeighbourhoodCleaningRule.html#imblearn.under_sampling.NeighbourhoodCleaningRule) where the kind_sel="all" was not working as explained in the literature. [1012](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1012) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Fix a bug in [NeighbourhoodCleaningRule](https://imbalanced-learn.org/dev/references/generated/imblearn.under_sampling.NeighbourhoodCleaningRule.html#imblearn.under_sampling.NeighbourhoodCleaningRule) where the threshold_cleaning ratio was multiplied on the total number of samples instead of the number of samples in the minority class. [1012](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1012) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Fix a bug in [RandomUnderSampler](https://imbalanced-learn.org/dev/references/generated/imblearn.under_sampling.RandomUnderSampler.html#imblearn.under_sampling.RandomUnderSampler) and [RandomOverSampler](https://imbalanced-learn.org/dev/references/generated/imblearn.over_sampling.RandomOverSampler.html#imblearn.over_sampling.RandomOverSampler) where a column containing only NaT was not handled correctly. [1059](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1059) by [Guillaume Lemaitre](https://github.com/glemaitre).
Compatibility
-------------
- [BalancedRandomForestClassifier](https://imbalanced-learn.org/dev/references/generated/imblearn.ensemble.BalancedRandomForestClassifier.html#imblearn.ensemble.BalancedRandomForestClassifier) now support missing values and monotonic constraints if scikit-learn >= 1.4 is installed.
- [Pipeline](https://imbalanced-learn.org/dev/references/generated/imblearn.pipeline.Pipeline.html#imblearn.pipeline.Pipeline) support metadata routing if scikit-learn >= 1.4 is installed.
- Compatibility with scikit-learn 1.4. [1058](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1058) by [Guillaume Lemaitre](https://github.com/glemaitre).
Deprecations
-------------
- Deprecate estimator_ argument in favor of estimators_ for the classes [CondensedNearestNeighbour](https://imbalanced-learn.org/dev/references/generated/imblearn.under_sampling.CondensedNearestNeighbour.html#imblearn.under_sampling.CondensedNearestNeighbour) and [OneSidedSelection](https://imbalanced-learn.org/dev/references/generated/imblearn.under_sampling.OneSidedSelection.html#imblearn.under_sampling.OneSidedSelection). estimator_ will be removed in 0.14. [1011](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1011) by [Guillaume Lemaitre](https://github.com/glemaitre).
- Deprecate kind_sel in [1012](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1012) by [Guillaume Lemaitre](https://github.com/glemaitre).
Enhancements
---------------
- Allows to output dataframe with sparse format if provided as input. [1059](https://github.com/scikit-learn-contrib/imbalanced-learn/pull/1059) by [ts2095](https://github.com/ts2095).