Releases: scikit-learn-contrib/imbalanced-learn
Imbalanced-learn 0.13.0
Changelog
Bug fixes
- Fix
get_metadata_routing
inPipeline
such that one can use a sampler with metadata routing. #1115 by @glemaitre.
Compatibility
- Compatibility with scikit-learn 1.6. #1109 by @glemaitre.
Deprecations
-
Pipeline
now usescheck_is_fitted
. In 0.15, it will raise an error instead of a warning. #1109 by @glemaitre. -
algorithm
parameter inRUSBoostClassifier
is now deprecated and will be removed in 0.14. #1109 by @glemaitre.
Imbalanced-learn 0.12.4
Imbalanced-learn 0.12.3
Imbalanced-learn 0.12.2
Changelog
Bug fixes
- Fix the way we check for a specific Python version in the test suite. #1075 by Guillaume Lemaitre.
Imbalanced-learn 0.12.1
Changelog
Bug fixes
- Fix a bug in InstanceHardnessThreshold where estimator could not be a Pipeline object. #1049 by Gonenc Mogol.
Compatibility
- Do not use distutils in tests due to deprecation. #1065 by Michael R. Crusoe.
- Fix the scikit-learn import in tests to be compatible with version 1.4.1.post1. #1073 by Guillaume Lemaitre.
- Fix test to be compatible with Python 3.13. #1073 by Guillaume Lemaitre.
Imbalanced-learn 0.12.0
Changelog
Bug fixes
- Fix a bug in 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 by Guillaume Lemaitre.
- Raise an informative error message when all support vectors are tagged as noise in SVMSMOTE. #1016 by Guillaume Lemaitre.
- Fix a bug in 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 by Guillaume Lemaitre.
- Fix a bug in 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 by Guillaume Lemaitre.
- Fix a bug in BorderlineSMOTE version 2 where samples should be generated from the whole dataset and not only from the minority class. #1023 by Guillaume Lemaitre.
- Fix a bug in NeighbourhoodCleaningRule where the kind_sel="all" was not working as explained in the literature. #1012 by Guillaume Lemaitre.
- Fix a bug in 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 by Guillaume Lemaitre.
- Fix a bug in RandomUnderSampler and RandomOverSampler where a column containing only NaT was not handled correctly. #1059 by Guillaume Lemaitre.
Compatibility
- BalancedRandomForestClassifier now support missing values and monotonic constraints if scikit-learn >= 1.4 is installed.
- Pipeline support metadata routing if scikit-learn >= 1.4 is installed.
- Compatibility with scikit-learn 1.4. #1058 by Guillaume Lemaitre.
Deprecations
- Deprecate estimator_ argument in favor of estimators_ for the classes CondensedNearestNeighbour and OneSidedSelection. estimator_ will be removed in 0.14. #1011 by Guillaume Lemaitre.
- Deprecate kind_sel in #1012 by Guillaume Lemaitre.
Enhancements
imbalanced-learn 0.11.0
Changelog
Bug fixes
-
Fix a bug in classification_report_imbalanced where the parameter
target_names
was not taken into account whenoutput_dict=True
. #989 by AYY7. -
SMOTENC now handles mix types of data type such as bool and
pd.CategoricalDtype
by delegating the conversion to scikit-learn encoder. #1002 by Guillaume Lemaitre. -
Handle sparse matrices in SMOTEN and raise a warning since it requires a conversion to dense matrices. #1003 by Guillaume Lemaitre.
-
Remove spurious warning raised when minority class get over-sampled more than the number of sample in the majority class. #1007 by Guillaume Lemaitre.
Compatibility
- Maintenance release for being compatible with scikit-learn >= 1.3.0. #999 by Guillaume Lemaitre.
Deprecation
-
The fitted attribute
ohe_
in SMOTENC is deprecated and will be removed in version 0.13. Usecategorical_encoder_
instead. #1000 by Guillaume Lemaitre. -
The default of the parameters
sampling_strategy
and replacement will change in BalancedRandomForestClassifier to follow the implementation of the original paper. This changes will take effect in version 0.13. #1006 by Guillaume Lemaitre.
Enhancements
-
SMOTENC now accepts a parameter
categorical_encoder
allowing to specify aOneHotEncoder
with custom parameters. #1000 by Guillaume Lemaitre. -
SMOTEN now accepts a parameter
categorical_encoder
allowing to specify aOrdinalEncoder
with custom parameters. A new fitted parametercategorical_encoder_
is exposed to access the fitted encoder. #1001 by Guillaume Lemaitre. -
RandomUnderSampler and RandomOverSampler (when
shrinkage
is notNone
) now accept any data types and will not attempt any data conversion. #1004 by Guillaume Lemaitre. -
SMOTENC now support passing array-like of
str
when passing thecategorical_features
parameter. #1008 by :userGuillaume Lemaitre <glemaitre>
. -
SMOTENC now support automatic categorical inference when
categorical_features
is set to"auto"
. #1009 by :userGuillaume Lemaitre <glemaitre>
.
imbalanced-learn 0.10.1
Changelog
Bug fixes
- Fix a regression in over-sampler where the string
minority
was rejected as an unvalid sampling strategy. #964 by Prakhyath07.
imbalanced-learn 0.10.0
Changelog
Bug fixes
- Make sure that Substitution is working with
python -OO
that replaces doc by None. #953 bu Guillaume Lemaitre.
Compatibility
- Maintenance release for being compatible with scikit-learn >= 1.0.2. #946, #947, #949 by Guillaume Lemaitre.
- Add support for automatic parameters validation as in scikit-learn >= 1.2. #955 by Guillaume Lemaitre.
- Add support for
feature_names_in_
as well asget_feature_names_out
for all samplers. #959 by Guillaume Lemaitre.
Deprecation
- The parameter
n_jobs
has been deprecated from the classes ADASYN, BorderlineSMOTE, SMOTE, SMOTENC, SMOTEN, and SVMSMOTE. Instead, pass a nearest neighbors estimator where n_jobs is set. #887 by Guillaume Lemaitre. - The parameter
base_estimator
is deprecated and will be removed in version 0.12. It is impacted the following classes: BalancedBaggingClassifier, EasyEnsembleClassifier, RUSBoostClassifier. #946 by Guillaume Lemaitre.
Enhancements
- Add support to accept compatible NearestNeighbors objects by only duck-typing. For instance, it allows to accept cuML instances. #858 by NV-jpt and Guillaume Lemaitre.
Version 0.9.1
Compatibility with scikit-learn 1.1.0