A game theoretic approach to explain the output of any machine learning model.
This is a fairly significant release containing a number of breaking changes.
Thank you to a number of new contributors for their contributions to this release! We are eager to grow the pool of maintainers, so please do get in touch on #3559 if you are interested in being part of the team.
feature_dependence
parameters in TreeExplainer and LinearExplainer by @thatlittleboy in https://github.com/shap/shap/pull/3340
beeswarm
plots by @MonoHue in https://github.com/shap/shap/pull/3530
.. plus a large number of documentation, testing and other maintenance updates by @CloseChoice , @yuanx749 , @LakshmanKishore and others.
Full Changelog: https://github.com/shap/shap/compare/v0.44.1...v0.45.0
Patch release to fix an issue with the display of force plots.
Full Changelog: https://github.com/shap/shap/compare/v0.44.0...v0.44.1
This release contains a number enhancements and bug fixes.
ax
to group_difference()
plot by @mtlulka in https://github.com/shap/shap/pull/3355
CatboostClassifier
explanations with feature interactions on Windows by @CloseChoice in https://github.com/shap/shap/pull/3325
use_line_collection
in dependence_plot
by @CloseChoice in https://github.com/shap/shap/pull/3369
scatter
plots by @SomeUserName1 in https://github.com/shap/shap/pull/2799
Full Changelog: https://github.com/shap/shap/compare/v0.43.0...V0.44.0
This release contains a number of bug fixes and improvements.
Following the NEP 29 deprecation policy, this release drops support for python 3.7.
Explanation.base_values
has been standardised between different TreeExplainer models to always be of shape (N,)
and not (N,1)
. By @thatlittleboy in https://github.com/shap/shap/pull/3121
feature_names
in Explanation objects with square .values
by @thatlittleboy in https://github.com/shap/shap/pull/3126
register_backward_hook()
by @noxthot in https://github.com/shap/shap/pull/3259
There have also been a large number of improvements to the tutorials and examples, by @connortann, @znacer, @arshiaar, @thatlittleboy, @dsgibbons, @owenlamont and @CloseChoice
Full Changelog: https://github.com/shap/shap/compare/v0.42.1...v0.43.0
Patch release to provide wheels for a broader range of architectures.
Full Changelog: https://github.com/slundberg/shap/compare/v0.42.0...v0.42.1
This release incorporates many changes that were originally contributed by the SHAP community via @dsgibbons's Community Fork, which has now been merged into the main shap repository. PRs from this origin are labelled here as fork#123
.
This will be the last release that supports python 3.7.
n_points
parameter to all functions in shap.datasets
(fork#39 by @thatlittleboy).__call__
to KernelExplainer
(#2966 by @dwolfeu).plot.waterfall
to support yticklabels with boolean features (fork#58 by @dwolfeu).TreeExplainer.__call__
from throwing ValueError when passed a pandas DataFrame containing Categorical columns (fork#88 by @thatlittleboy).shap.datasets
to sample without replacement (fork#36 by @thatlittleboy).UnboundLocalError
problem arising from passing a dictionary input to shap.plots.bar
(#3001 by @thatlittleboy).Gradient
(#2983 by @skamdar).shap.plots.heatmap
, and use the ax
matplotlib API internally for plotting (#3040 by @thatlittleboy).numba>=0.44
(fork#9 and fork#68 by @connortann).numpy>=1.24
from numpy types (fork#7 by @dsgibbons).Ipython>=8
from Ipython.core.display
(fork#13 by @thatlittleboy).tensorflow>=2.11
from tf.optimisers
(fork#16 by @simonangerbauer).sklearn>=1.2
from sklearn.linear_model
(fork#22 by @dsgibbons).xgboost>=1.4
from ntree_limit
in tree explainer (#2987 by @adnene-guessoum).shap.explainers.Exact
(#3064 by @connortann).mimic.py
file and MimicExplainer
code (fork#53 by @thatlittleboy).ruff
linting (fork#25, fork#26, fork#27, #2973, #2972 and #2976 by @connortann; #2968, #2986 by @thatlittleboy).Lots of bugs fixes and API improvements.
This release contains many bugs fixes and lots of new functionality, specifically for transformer based NLP models. Some highlights include:
Lots of new text explainer work courtesy of @ryserrao and serialization courtesy of @vivekchettiar! (will note all the other changes later)
Fixes a version mismatch with the v0.38.0 release and serialization updates.