Release History
Version 0.2.2 (2024.06)
Maintenance:
Bump dependency version: scikit-learn to
1.5.0, pandas to2.1.1, seaborn to0.13.2.Fix numerous Errors and Warnings appeared in the CI.
Version 0.2.1 (2023.07)
Maintenance:
Bump supported scikit-learn version to
1.3.0.Update requirements for building documentation with
sphinx.Remove redundant doc (
auto_examplesandback_references) files in the source distribution.
Bug Fixes:
Fix
AttributeErrorinimbens.ensemble.BalancedRandomForestClassifier.Fix several bugs encountered in CI.
Version 0.2.0 (2023.02)
Enhancement:
Enable CircleCI with CodeCov report.
Easier usage:
the package is now imported as
imbensall samplers can be directly accessed in
imbens.sampler
Maintenance:
Complement unit tests (59% -> 96% coverage).
Set default
k_neighbors=1for SMOTEBagging to prevent error in few-shot cases.Set default
cluster_balance_threshold=0.1for KmeansSMOTEBoost to prevent error in few-shot cases.Add
decision_function()for supported ensemble classifiers.The parameter
base_sampleris renamed tosampler.The attribute
base_sampler_is renamed tosampler_.Bump supported Python version to
3.8, 3.9, 3.10, 3.11.Following sklearn version >1.2, for all ensemble classifiers,
the parameter
base_estimatoris renamed toestimator.the attribute
base_estimator_is renamed toestimator_.
Bug Fixes:
Add missing comma in the INSTALL_REQUIRES list which breaks
conda env export.Fix
BalanceCascadeandSelfPacedEnsemble’s_make_sampler()behaviour.Fix
BalanceCascadeandSelfPacedEnsembleparameter check.Fix cost_matrix type check for cost-sensitive methods
Fix
SVMSMOTEwithsample_weightFix
CompatibleAdaBoostwithtrain_verboseFix samplers in/output type consistency
Version 0.1.7 (2022.01)
Enhancement:
Add
feature_importances_attribute for supported methods:
Documentation:
Paper describing this package “IMBENS: Ensemble Class-imbalanced Learning in Python”.
Version 0.1.6 (2021.11)
Enhancement:
All boosting-based methods now support
early_termination, which can be used to enable/disable strict early termination for Adaboost training.Add utility functions
imbens.datasets.generate_imbalance_data()andimbens.utils.evaluate_print()to ease the test and evaluation.
Bug Fixes:
Fixed Resampling + Bagging models (e.g., OverBagging) raise error when used with base estimators that do not support sample_weight (e.g., sklearn.KNeighborsClassifier).
Fixed AttributeError occurs when initializing bagging-based models.
Version 0.1.5 (2021.08)
Enhancement:
imbens.sampler.RandomUnderSamplernow supportsample_proba(the probability of each instance being sampled, notsample_weight).
Bug Fixes:
Fixed ValueError when using
imbens.visualizer.ImbalancedEnsembleVisualizerwithseabornv0.11.2.Fixed all ensemble algorithms (error or performance issue) when the classification targets do not begin with 0.
Version 0.1.4 (2021.06)
Enhancement:
imbens.visualizer.ImbalancedEnsembleVisualizer.performance_lineplot(): add optionon_metricsto select evaluation metrics to include in the plot.imbens.visualizer.ImbalancedEnsembleVisualizer.confusion_matrix_heatmap(): add optionfalse_pred_onlyto control whether to plot only the false predictions in the confusion matrix.Add some utilities for data visualization in
imbens.utils._plot.
Documentation:
Add more comprehensive examples in the examples gallery (11 new, 16 in total).
Add a Chinese README.
Maintenance:
imbens.utils.testing.all_estimators()now support'ensemble'type_filter.Renamed some functions in
imbens.utils._validation_paramto improve readability
Bug Fixes:
Version 0.1.3 (2021.06)
Bug Fixes:
Fixed a typo bug in
imbens.ensemble.BalanceCascadeClassifier.Fixed an import Error in
imbens.ensembleCompatibleAdaBoostClassifier.
Version 0.1.2 (2021.05)
Enhancement:
Add support for metric functions that take probability as input.
Boosting-based classifiers now will print a message when the training is early terminated.
imbens.visualizer.ImbalancedEnsembleVisualizer.performance_lineplot():granularitynow can be automatically set.
Maintenance:
All ensemble classifiers now can be directly imported from the
imbens.ensemblemodule.The default value of
train_verboseofClassifier.fit():True->False.The default value of
n_estimatorsofClassifier.__init__(): 50 for all ensemble classifiers.The default value of
granularityofVisualizer.fit(): 5 ->None(automatically determined).imbens.visualizer.ImbalancedEnsembleVisualizer.confusion_matrix_heatmap(): swap rows and columns, now rows/columns correspond to datasets/methods.
Bug Fixes:
Fixed
ZeroDivisionErrorwhen usingimbens.sampler.SelfPacedUnderSampler.
Version 0.1.1 (2021.05)
Bug Fixes:
Unexpected print messages when using the
imbens.pipelinemodule.
Version 0.1.0 (2021.05)
Initial release.