Skip to content

v0.4.0

Compare
Choose a tag to compare
@tuvelofstrom tuvelofstrom released this 23 Aug 14:20
· 252 commits to main since this release

v0.4.0 - 2024-08-23

Full changelog

Features

  • Paper updates:
  • Code improvements:
    • Substantial speedup achieved through the newly implemented explain method! This method implements the core algorithm while minimizing the number of calls to core._predict, substantially speeding up the code without altering the algorithmic logic of calibrated_explanations. The explain method is used exclusively from this version on when calling explain_factual or explain_counterfactual.
      • Re-ran the ablation study for classification, looking at the impact of calibration set size, number of percentile samplings for numeric features and the number of features.
        • Uploaded a pdf version of the ablation study, making the results easier to overview.
      • Re-ran the evaluation for regression, measuring stability, robustness and running times with and without normalization.
    • Improved the safe_import to allow import ... from ... constructs.
    • Restructured package
      • Added a utils folder:
        • Moved discretizers.py to utils
        • Moved utils.py to utils and renamed to helper.py
      • Made explanations public
      • Made VennAbers and interval_regressor restricted
    • Experimental functionality introduced:
      • Several new experimental features have been introduced. These will be presented as Features once they are thoroughly tested and evaluated.
  • Code interface improvements:
    • Added support for the MondrianCategorizer from crepes in the WrapCalibratedExplainer.
    • Added wrapper functions in WrapCalibratedExplainer redirecting to CalibratedExplainer:
      • Including predict, predict_proba, and set_difficulty_estimator.
      • Moved any remaining implementations of functions in WrapCalibratedExplainer to CalibratedExplainer.
    • Renamed the plot_all and plot_explanation functions to plot. Updated all usages of the plot function.
    • Added __len__ and __getitem__ to CalibratedExplanations.
      • __getitem__ allow indexing with int, slice, and lists (both boolean and integer lists). When more than one explanation is retrieved, a new CalibratedExplanations is returned, otherwise, the indexed CalibratedExplanation is returned.
  • Documentation improvements:
    • Restructured and extended the documentation.
      • Updated the information at the entry page
      • Added an API reference
  • Improvements of the CI setup:
    • Updated CI to run pytest before pylint.
    • Updated CI to avoid running tests when commit message starts with 'info:' or 'docs:'.
  • Testing improvements
    • Improved tests to test predict and predict_proba functions in CalibratedExplainer better.
    • Added several other tests to increase coverage.

Fixes

  • Fixed minor errors in the predict and predict_proba functions in CalibratedExplainer.
  • Several other minor bug fixes have also been made.