Skip to content

Releases: oegedijk/explainerdashboard

v0.2.11:

18 Nov 13:35
Compare
Choose a tag to compare

Version 0.2.11:

New Features

  • added (very limited) sklearn.Pipeline support. You can pass a Pipeline as
    model parameter as long as the pipeline either:
    1. Does not add, remove or reorders any input columns
    2. has a .get_feature_names() method that returns the new column names
      (this is currently beings debated in sklearn SLEP007)
  • added cutoff slider to CumulativePrecisionComponent
  • For RegressionExplainer added ActualVsColComponent and PredsVsColComponent
    in order to investigate partial correlations between y/preds and
    various features.
  • added index_name parameter: name of the index column (defaults to X.index.name
    or idxs.name). So when you pass index_name="Passenger", you get
    a "Random Passenger" button on the index selector instead of "Random Index",
    etc.

Bug Fixes

  • Fixed a number of bugs for when no labels are passed (y=None):
    • fixing explainer.random_index() for when y is missing
    • Hiding label/y/residuals selector in RandomIndexSelectors
    • Hiding y/residuals in prediction summary
    • Hiding model_summary tab
    • Removing permutation importances from dashboard

Improvements

  • Seperated labels for "observed" and "average prediction" better in tree plot
  • Renamed "actual" to "observed" in prediction summary
  • added unique column check for whatif-component with clearer error message
  • model metrics now formatted in a nice table
  • removed most of the loading spinners as most graphs are not long loads anyway.

v0.2.10: cats parameter now take arbitrary list of onehot cols

16 Nov 08:54
Compare
Choose a tag to compare

Version 0.2.10:

New Features

  • Explainer parameter cats now takes dicts as well as a list where you can specify
    your own groups of onehotencoded columns.
    - e.g. instead of passing cats=['Sex'] to group ['Sex_female', 'Sex_male', 'Sex_nan']
    you can now do this explicitly: cats={'Gender'=['Sex_female', 'Sex_male', 'Sex_nan']}
    - Or combine the two:
    cats=[{'Gender'=['Sex_female', 'Sex_male', 'Sex_nan']}, 'Deck', 'Embarked']

v.0.2.9.1: forgot version bump

03 Nov 15:51
Compare
Choose a tag to compare
v0.2.9.1

bumped version

v.0.2.9: reducing custom boilerplate code

03 Nov 15:35
Compare
Choose a tag to compare

Version 0.2.9:

New Features

  • Reducing boilerplate: You don't have to pass the list of subcomponents in self.register_components()
    anymore: it will infer them automatically from self.__dict__.

Improvements

  • Reducing boilerplate: ExplainerComponents now automatically stores all parameters to attributes
  • ExplainerComponents now automatically stores all parameters to a ._stored_params dict
  • ExplainerDashboard.to_yaml() now support instantiated tabs and stores parameters to yaml
  • ExplainerDashboard.to_yaml() now stores the import requirements of subcomponents
  • ExplainerDashboard.from_config() now instantiates tabs with stored parameters
  • ExplainerDashboard.from_config() now imports classes of subcomponents

Other Changes

  • added docstrings to explainer_plots
  • added screenshots of ExplainerComponents to docs
  • added more gifs to the documentation

v0.2.8.1: shap dependency >=0.36

27 Oct 15:54
Compare
Choose a tag to compare

v0.2.8: load dashboards from config

22 Oct 07:50
Compare
Choose a tag to compare

Version 0.2.8:

Breaking Changes

  • split explainerdashboard.yaml into a explainer.yaml and dashboard.yaml

    • generate with explainer.to_yaml("explainer.yaml") and db.to_yaml("dashboard.yaml")
  • Changed UI of the explainerdashboard CLI to reflect this

  • This change makes it possible to have automatic rebuilds and redeploys
    when an modelfile, datafile or configuration file changes. See deployment documentation.

New Features

  • Load an ExplainerDashboard from a configuration file with the classmethod .from_config()
    e.g. : ExplainerDashboard.from_config("dashboard.yaml")

0.2.7 small fix

21 Oct 12:19
Compare
Choose a tag to compare

small bug fix in dashboard.to_yaml

new CLI tool

21 Oct 11:35
Compare
Choose a tag to compare

Version 0.2.7:

New Features

  • explainer.dump() to store explainer, explainer.from_file() to load
    explainer from file
  • Explainer.to_yaml() and ExplainerDashboard.to_yaml() can store the
    configuration of your explainer/dashboard to file.
  • explainerdashboard CLI:
    • Start an explainerdashboard from the command-line!
    • start default dashboard from stored explainer : $ explainerdashboard run explainer.joblib
    • start full configured dashboard from config: $ explainerdashboard run explainerdashboard.yaml
    • build explainer based on input files defined in .yaml
      (model.pkl, data.csv, etc): $ explainerdashboard build explainerdashboard.yaml
    • includes new ascii logo :)

Improvements

  • If idxs is not passed use X.index instead
  • explainer.idxs performance enhancements
  • added whatif component and tab to InlineExplainer
  • added cumulative precision component to InlineExplainer

v0.2.6: simpler imports

12 Oct 09:55
Compare
Choose a tag to compare

Improvements

  • more straightforward imports: from explainerdashboard import ClassifierExplainer, RegressionExplainer, ExplainerDashboard, InlineExplainer
  • all custom imports (such as ExplainerComponents, Composites, Tabs, etc)
    combined under explainerdashboard.custom:
    from explainerdashboard.custom import *

v0.2.5

07 Oct 06:31
Compare
Choose a tag to compare

version 0.2.5:

New Features

  • New dashboard tab: WhatIfComponent/WhatIfComposite/WhatIfTab: allows you
    to explore whatif scenario's by editing multiple features and observing
    shap contributions and pdp plots. Switch off with ExplainerDashboard
    parameter whatif=False.
  • New login functionality: you can restrict access to your dashboard by passing
    a list of [login, password] pairs:
    ExplainerDashboard(explainer, logins=[['login1', 'password1'], ['login2', 'password2']]).run()
  • Added 'target' parameter to explainer, to make more descriptive plots.
    e.g. by setting target='Fare', will show 'Predicted Fare' instead of
    simply 'Prediction' in various plots.
  • in detailed shap/interaction summary plots, can now click on single
    shap value for a particular feature, and have that index highlighted
    for all features.
  • autodetecting Google colab environment and setting mode='external'
    (and suggesting so for jupyter notebook environments)
  • confusion matrix now showing both percentage and counts
  • Added classifier model performance summary component
  • Added cumulative precision component

Improvements

  • added documentation on how to deploy to heroku
  • Cleaned up modebars for figures
  • ClassifierExplainer asserts predict_proba attribute of model
  • with model_output='logodds' still display probability in prediction summary

Other Changes

  • removed monkeypatching shap_explainer note