Release History
Version 0.2.0 (2023.02)
Enhancement:
Enable CircleCI with CodeCov report.
Easier usage:
the package is now imported as
imbens
all samplers can be directly accessed in
imbens.sampler
Maintenance:
Complement unit tests (59% -> 96% coverage).
Set default
k_neighbors=1
for SMOTEBagging to prevent error in few-shot cases.Set default
cluster_balance_threshold=0.1
for KmeansSMOTEBoost to prevent error in few-shot cases.Add
decision_function()
for supported ensemble classifiers.The parameter
base_sampler
is 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_estimator
is 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
BalanceCascade
andSelfPacedEnsemble
’s_make_sampler()
behaviour.Fix
BalanceCascade
andSelfPacedEnsemble
parameter check.Fix cost_matrix type check for cost-sensitive methods
Fix
SVMSMOTE
withsample_weight
Fix
CompatibleAdaBoost
withtrain_verbose
Fix 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.RandomUnderSampler
now supportsample_proba
(the probability of each instance being sampled, notsample_weight
).
Bug Fixes:
Fixed ValueError when using
imbens.visualizer.ImbalancedEnsembleVisualizer
withseaborn
v0.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_metrics
to select evaluation metrics to include in the plot.imbens.visualizer.ImbalancedEnsembleVisualizer.confusion_matrix_heatmap()
: add optionfalse_pred_only
to 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_param
to 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()
:granularity
now can be automatically set.
Maintenance:
All ensemble classifiers now can be directly imported from the
imbens.ensemble
module.The default value of
train_verbose
ofClassifier.fit()
:True
->False
.The default value of
n_estimators
ofClassifier.__init__()
: 50 for all ensemble classifiers.The default value of
granularity
ofVisualizer.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
ZeroDivisionError
when usingimbens.sampler.SelfPacedUnderSampler
.
Version 0.1.1 (2021.05)
Bug Fixes:
Unexpected print messages when using the
imbens.pipeline
module.
Version 0.1.0 (2021.05)
Initial release.