Skip to content

Releases: oegedijk/explainerdashboard

v0.2.3.2: pypi fix

27 Sep 19:05
Compare
Choose a tag to compare

v0.2.3.visualize trees inside xgboost

27 Sep 18:03
Compare
Choose a tag to compare

Version 0.2.3

Breaking Changes

  • RandomForestClassifierExplainer and RandomForestRegressionExplainer will be
    deprecated: can now simply use ClassifierExplainer or RegressionExplainer and the
    mixin class will automatically be loaded.

New Features

  • Now also support for visualizing individual trees for XGBoost models!
    (XGBClassifier and XGBRegressor). The XGBExplainer mixin class will be
    automatically loaded and make decisiontree_df(), decision_path() and plot_trees()
    methods available, the dashboard Decision Trees tab and components now also work for
    XGBoost models.
  • new parameter n_jobs for calculations that can be parallelized (e.g. permutation importances)
  • contrib_df, plot_shap_contributions: can order by global shap feature
    importance with sort='importance' (as well as 'abs', 'high-to-low'
    'low-to-high')
  • added actual outcome to plot_trees (for both RandomForest and XGB)

Improvements

  • optimized code for calculating permutation importance, adding possibility to calculate in parallel
  • shap dependence component: if no color col selected, output standard blue dots instead of ignoring update

Other Changes

  • added selenium browser based integration tests for dashboards (also working with github actions)
  • added tests for multiclass classsification, DecisionTree and ExtraTrees models
  • added tests for XGBExplainers
  • added proper docstrings to explainer_methods.py

v0.2.2: fix compatibility with shap 0.36

14 Sep 18:47
Compare
Choose a tag to compare

Bug Fixes

  • fix for shap v0.36: import approximate_interactions from shap.utils instead of shap.common
  • kernel shap bug fixed
  • contrib_df bug with topx fixed

0.2.1

24 Jul 18:51
Compare
Choose a tag to compare

Version 2.1:

Breaking Changes

  • Removed ExplainerHeader from ExplainerComponents
    • so also removed parameter header_mode from ExplainerComponent parameters
    • You can now instead syncronize pos labels across components with a PosLabelSelector
      and PosLabelConnector.
  • In regression plots instead of boolean ratio=True/False,
    you now pass residuals={'difference', 'ratio', 'log-ratio'}
  • decisiontree_df_summary renamed to decisiontree_summary_df (in line with contrib_summary_df)

New Features

  • added check all shap values >-1 and <1 for model_output=probability
  • added parameter pos_label to all components and ExplainerDashboard to set
    the initial pos label
  • added parameter block_selector_callbacks to ExplainerDashboard to block
    the global pos label selector's callbacks. If you already have PosLabelSelectors
    in your layout, this prevents clashes.
  • plot actual vs predicted now supported only logging x axis or only y axis
  • residuals plots now support option residuals='log-ratio'
  • residuals-vs-col plot now shows violin plot for categorical features
  • added sorting option to contributions plot/graph: sort={'abs', 'high-to-low', 'low-to-high'}
  • added final prediction to contributions plot

Bug Fixes

  • Interaction connector bug fixed in detailed summary: click didn't work
  • pos label was ignored in explainer.plot_pdp()
  • Fixed some UX issues with interations components

Improvements

  • All State['tabs', 'value'] condition have been taken out of callbacks. This
    used to fix some bugs with dash tabs, but seems it works even without, so
    also no need to insert dummy_tabs in ExplainerHeader.
  • All ExplainerComponents now have their own pos label selector, meaning
    that they are now fully self-containted and independent. No global dash
    elements in component callbacks.
  • You can define the layout of ExplainerComponents in a layout() method instead
    of _layout(). Should still define _register_callbacks() to define callbacks
    so that all subcomponents that have been registered will automatically
    get their callbacks registered as well.
  • Added regression self.units to prediction summary, shap plots,
    contributions plots/table, pdp plot and trees plot.
  • Clearer title for MEAN_ABS_SHAP importance and summary plots
  • replace na_fill value in contributions table by "MISSING"
  • add string idxs to shap and interactions summary and dependence plots,
    including the violing plots
  • pdp plot for classification now showing percentages instead of fractions

Other Changes

  • added hide_title parameter to all components with a title
  • DecisionPathGraphComponent not available for RandomForestRegression models for now.
  • In contributions graph base value now called 'population average' and colored yellow.

v0.2.0.2

08 Jul 19:42
Compare
Choose a tag to compare

Bug Fix:

  • Title parameter was not correctly handed down to ExplainerTabsLayout and ExplainerPageLayout.

v0.2.0.1

08 Jul 14:09
Compare
Choose a tag to compare

Bug fix:
supress callback exception

v0.2

08 Jul 10:47
Compare
Choose a tag to compare

version 0.2:

Breaking Changes

  • InlineExplainer api has been completely redefined
  • JupyterExplainerDashboard, ExplainerTab and JupyterExplainerTab have been deprecated

New Features

  • Major rewrite and refactor of the dashboard code, now modularized into ExplainerComponents
    and ExplainerComposites.
  • ExplainerComponents can now be individually accessed through InlineExplainer
  • All elements of components can now be switched on or off or be given an
    initial value.
  • Makes it much, much easier to design own custom dashboards.
  • ExplainerDashboard can be passed an arbitrary list of components to
    display as tabs.

Better docs:

  • Added sections InlineExplainer, ExplainerTabs, ExplainerComponents,
    CustomDashboards and Deployment
  • Added screenshots to documentation.

Bug Fixes

  • fixes residuals y-pred instead of pred-y

Improvements

  • Random Index Selector redesigned
  • Prediction summary redesigned
  • Tables now follow dbc.Table formatting
  • All connections between components now happen through explicit connectors
  • Layout of most components redesigned, with all elements made hideable

0.1.13

29 Jun 07:49
Compare
Choose a tag to compare

Bug Fixes

  • Fixed bug with GradientBoostingClassifier where output format of shap.expected_value was not not properly accounted for.

Improvements

  • Cleaned up standalone label selector code
  • Added check for shap base values to be between between 0 and 1 for model_output=='probability'

0.1.12.5

18 Jun 12:58
Compare
Choose a tag to compare

typos

0.1.12.4

18 Jun 12:29
Compare
Choose a tag to compare

fixed InlineExplainer in all import of dashboards