Releases: oegedijk/explainerdashboard
Releases · oegedijk/explainerdashboard
v0.2.11:
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:- Does not add, remove or reorders any input columns
- 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 toX.index.name
oridxs.name
). So when you passindex_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
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 passingcats=['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
v0.2.9.1 bumped version
v.0.2.9: reducing custom boilerplate code
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 fromself.__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
bump version
v0.2.8: load dashboards from config
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
small bug fix in dashboard.to_yaml
new CLI tool
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
Improvements
- more straightforward imports:
from explainerdashboard import ClassifierExplainer, RegressionExplainer, ExplainerDashboard, InlineExplainer
- all custom imports (such as ExplainerComponents, Composites, Tabs, etc)
combined underexplainerdashboard.custom
:
from explainerdashboard.custom import *
v0.2.5
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