Shap

Latest version: v0.45.0

Safety actively analyzes 621776 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 9

0.45.0

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.

What's Changed

Breaking changes
* Dropped support for 3.8 in https://github.com/shap/shap/pull/3414
* The type and shape of returned SHAP values has changed in some cases, to be consistent with model outputs. The returned type for models with multiple outputs changed from list to np.ndarray. by CloseChoice in https://github.com/shap/shap/pull/3318
* Removed deprecated `feature_dependence` parameters in TreeExplainer and LinearExplainer by thatlittleboy in https://github.com/shap/shap/pull/3340
* Removed deprecated alias for Coefficient by connortann in https://github.com/shap/shap/pull/3511

Added
* Added support for python 3.12 by connortann in https://github.com/shap/shap/pull/3414
* Added support for GPU build on recent CUDA versions by trivialfis in https://github.com/shap/shap/pull/3462
* 2x import time speedup via lazy importing of pytorch by connortann in https://github.com/shap/shap/pull/3533
* Added support returning the matplotlib figure in bar plots by richarddli in https://github.com/shap/shap/pull/3494
* Added selu activation for tensorflow deep explainer by CloseChoice in https://github.com/shap/shap/pull/3504
* Added support for special characters in catboost models by CloseChoice in https://github.com/shap/shap/pull/3506
* Added ability to control marker size in `beeswarm` plots by MonoHue in https://github.com/shap/shap/pull/3530

Fixed
* Fixed XGBoost model load by trivialfis in https://github.com/shap/shap/pull/3462
* Fixed text masking with certain tokenizers by costrau in https://github.com/shap/shap/pull/3536
* Fixed issue with KernelExplainer when explaining tensorflow models by connortann in https://github.com/shap/shap/pull/3542
* Fixed force_plot contribution threshold for negative contributions by connortann in https://github.com/shap/shap/pull/3547
* Removed overwrite of default warning filter or formatter by connortann in https://github.com/shap/shap/pull/3514

.. plus a large number of documentation, testing and other maintenance updates by CloseChoice , yuanx749 , LakshmanKishore and others.

New Contributors

* richarddli made their first contribution in https://github.com/shap/shap/pull/3494
* yuanx749 made their first contribution in https://github.com/shap/shap/pull/3458
* LakshmanKishore made their first contribution in https://github.com/shap/shap/pull/3393
* trivialfis made their first contribution in https://github.com/shap/shap/pull/3462
* DanGolding made their first contribution in https://github.com/shap/shap/pull/3526
* MonoHue made their first contribution in https://github.com/shap/shap/pull/3530
* costrau made their first contribution in https://github.com/shap/shap/pull/3536

**Full Changelog**: https://github.com/shap/shap/compare/v0.44.1...v0.45.0

0.44.1

<!-- Release notes generated using configuration in .github/release.yml at master -->

Patch release to fix an issue with the display of force plots.

Fixed
* Fixed HTML issue affecting display of force plots by CloseChoice in https://github.com/shap/shap/pull/3464
* Fixed calculation of interactions values for catboost regressors by CloseChoice in https://github.com/shap/shap/pull/3459
* Update XGBoost parsing to use ubjson format, replacing deprecated binary format by CloseChoice in https://github.com/shap/shap/pull/3345
Other
* Further improvements to documentation

**Full Changelog**: https://github.com/shap/shap/compare/v0.44.0...v0.44.1

0.44.0

This release contains a number enhancements and bug fixes.

What's Changed

Added
* Faster and more stable linear solver in KernelShap by lorentzenchr in https://github.com/shap/shap/pull/3271
* Enabled passing of `ax` to `group_difference()` plot by mtlulka in https://github.com/shap/shap/pull/3355
* Added support for Explanation.display_data in bar plot by fountaindive in https://github.com/shap/shap/pull/3386
* Improved build messages when building from source by connortann in https://github.com/shap/shap/pull/3403

Fixed
* Fixed `CatboostClassifier` explanations with feature interactions on Windows by CloseChoice in https://github.com/shap/shap/pull/3325
* Fixed passing of Xgboost model parameters to xgboost.DMatrix by vancromy in https://github.com/shap/shap/pull/3314
* Explicit specification of xgboost>=1.4 constraint by mtlulka in https://github.com/shap/shap/pull/3352
* Fixed conversion of DMatrix to CSR matrix by thatlittleboy in https://github.com/shap/shap/pull/3359
* Removed deprecated `use_line_collection` in `dependence_plot` by CloseChoice in https://github.com/shap/shap/pull/3369
* Fixed bug relating to array reshaping in `scatter` plots by SomeUserName1 in https://github.com/shap/shap/pull/2799

Documentation
* A large number of [example notebooks](https://shap.readthedocs.io/en/latest) fixed and updated by connortann, znacer , thatlittleboy, CloseChoice and stompsjo

New Contributors
* vancromy made their first contribution in https://github.com/shap/shap/pull/3314
* lorentzenchr made their first contribution in https://github.com/shap/shap/pull/3271
* mtlulka made their first contribution in https://github.com/shap/shap/pull/3352
* fountaindive made their first contribution in https://github.com/shap/shap/pull/3386
* SomeUserName1 made their first contribution in https://github.com/shap/shap/pull/2799
* stompsjo made their first contribution in https://github.com/shap/shap/pull/3391

**Full Changelog**: https://github.com/shap/shap/compare/v0.43.0...V0.44.0

0.43.0

What's Changed

This release contains a number of bug fixes and improvements.

Following the [NEP 29 deprecation policy](https://numpy.org/neps/nep-0029-deprecation_policy.html), this release drops support for python 3.7.

Breaking changes

* Removed the deprecated Boston dataset by thatlittleboy in https://github.com/shap/shap/pull/3316
* The shape of `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

Added
* Added additivity check to Pytorch DeepExplainer (activated by default) by noxthot in https://github.com/shap/shap/pull/3265
* Added flag to allow the printing of the mean SHAP value in the legend of a multi-output bar plot. By 101AlexMartin in https://github.com/shap/shap/pull/3062
* Added heatmap and violin plot to top-level API by connortann in https://github.com/shap/shap/pull/3157
* Replaced all tqdm imports with tqdm.auto by owenlamont in https://github.com/shap/shap/pull/3199

Fixed
* Fixed segmentation faults on MacOS with lightgbm tests (with newer libomp versions) by thatlittleboy in https://github.com/shap/shap/pull/3093
* Support LightGBM ensemble containing single leaf trees (stump) by thatlittleboy in https://github.com/shap/shap/pull/3094
* Fixed conversion DataFrame to ndarray for Explanation.data by danieleongari in https://github.com/shap/shap/pull/3131
* Fixed waterfall plot on explanations of sklearn tree models by connortann in https://github.com/shap/shap/pull/3138
* Fixed pandas input for gradient explainer by Koen-Git in https://github.com/shap/shap/pull/3153
* Fixed slicing of `feature_names` in Explanation objects with square `.values` by thatlittleboy in https://github.com/shap/shap/pull/3126
* Correct xlim in force_matplotlib in cases where the signs of force are all the same by zaburo-ch in https://github.com/shap/shap/pull/2839
* Fixed ngboost explanations when col_sample < 1 by CloseChoice in https://github.com/shap/shap/pull/3294
* Fixed torch additivity check in PyTorch DeepExplainer by noxthot in https://github.com/shap/shap/pull/3281
* Replaced print statements with warnings in DeepExplainer by znacer in https://github.com/shap/shap/pull/3264
* Replace deprecated `register_backward_hook()` by noxthot in https://github.com/shap/shap/pull/3259
* Fixed deprecated use of xgboost early_stopping_rounds by CloseChoice in https://github.com/shap/shap/pull/3306
* Fixed 3rd party deprecation warnings: numba, xgboost, typing, distutils by connortann in https://github.com/shap/shap/pull/3084
* Updated the Javascript bundle to update deprecated dependencies by connortann in https://github.com/shap/shap/pull/2974

There have also been a large number of improvements to the tutorials and examples, by connortann, znacer, arshiaar, thatlittleboy, dsgibbons, owenlamont and CloseChoice

New Contributors
* 101AlexMartin made their first contribution in https://github.com/shap/shap/pull/3062
* znacer made their first contribution in https://github.com/shap/shap/pull/3112
* danieleongari made their first contribution in https://github.com/shap/shap/pull/3131
* Koen-Git made their first contribution in https://github.com/shap/shap/pull/3153
* pre-commit-ci made their first contribution in https://github.com/shap/shap/pull/3173
* owenlamont made their first contribution in https://github.com/shap/shap/pull/3199
* arshiaar made their first contribution in https://github.com/shap/shap/pull/3201
* dsgibbons made their first contribution in https://github.com/shap/shap/pull/3200
* noxthot made their first contribution in https://github.com/shap/shap/pull/3265
* zaburo-ch made their first contribution in https://github.com/shap/shap/pull/2839
* CloseChoice made their first contribution in https://github.com/shap/shap/pull/3282

**Full Changelog**: https://github.com/shap/shap/compare/v0.42.1...v0.43.0

0.42.1

Patch release to provide wheels for a broader range of architectures.

Added

* Added wheels for linux:aarch64 and macos:arm64 by PrimozGodec in https://github.com/slundberg/shap/pull/3078 and connortann in https://github.com/slundberg/shap/pull/3083.

Fixed

* Fixed circular import issues with shap.benchmark by thatlittleboy in https://github.com/slundberg/shap/pull/3076.
* Fixed TestPyPI releases workflow by connortann in https://github.com/slundberg/shap/pull/3068
* Fix further flaky tests by thatlittleboy in https://github.com/slundberg/shap/pull/3073
* Fix shap.summary_plot to work with matplotlib 3.6.0 by jklaise in https://github.com/slundberg/shap/pull/2697
* Fix benchmark top-level import by thatlittleboy in https://github.com/slundberg/shap/pull/3076
* Fix ipython import warning from top-level shap import by connortann in https://github.com/slundberg/shap/pull/3090

**Full Changelog**: https://github.com/slundberg/shap/compare/v0.42.0...v0.42.1

0.42.0

This release incorporates many changes that were originally contributed by the SHAP community via dsgibbons's [Community Fork][fork], which has now been merged into the main shap repository. PRs from this origin are labelled here as `fork123`.

This will be the last release that supports python 3.7.

[fork]: https://github.com/slundberg/shap/discussions/2942

Added

- Added support for python 3.11 ([fork72](https://github.com/dsgibbons/shap/pull/72) by connortann).
- Added `n_points` parameter to all functions in `shap.datasets` ([fork39](https://github.com/dsgibbons/shap/pull/39) by thatlittleboy).
- Added `__call__` to `KernelExplainer` ([2966](https://github.com/slundberg/shap/pull/2966) by dwolfeu).
- Added [contributing guidelines][contrib-guide] ([2996](https://github.com/slundberg/shap/pull/2996) by connortann).

[contrib-guide]: [https://github.com/slundberg/shap/blob/master/CONTRIBUTING.md]

Fixed

- Fixed `plot.waterfall` to support yticklabels with boolean features ([fork58](https://github.com/dsgibbons/shap/pull/58) by dwolfeu).
- Prevent `TreeExplainer.__call__` from throwing ValueError when passed a pandas DataFrame containing Categorical columns ([fork88](https://github.com/dsgibbons/shap/pull/88) by thatlittleboy).
- Fixed sampling in `shap.datasets` to sample without replacement ([fork36](https://github.com/dsgibbons/shap/pull/36) by thatlittleboy).
- Fixed an `UnboundLocalError` problem arising from passing a dictionary input to `shap.plots.bar` ([3001](https://github.com/slundberg/shap/pull/3000) by thatlittleboy).
- Fixed tensorflow import issue with Pyspark when using `Gradient` ([2983](https://github.com/slundberg/shap/pull/2983) by skamdar).
- Fixed the aspect ratio of the colorbar in `shap.plots.heatmap`, and use the `ax` matplotlib API internally for plotting ([3040](https://github.com/slundberg/shap/pull/3040) by thatlittleboy).
- Fixed deprecation warnings for `numba>=0.44` ([fork9](https://github.com/dsgibbons/shap/pull/9) and [fork#68](https://github.com/dsgibbons/shap/pull/68) by connortann).
- Fixed deprecation warnings for `numpy>=1.24` from numpy types ([fork7](https://github.com/dsgibbons/shap/pull/7) by dsgibbons).
- Fixed deprecation warnings for `Ipython>=8` from `Ipython.core.display` ([fork13](https://github.com/dsgibbons/shap/pull/13) by thatlittleboy).
- Fixed deprecation warnings for `tensorflow>=2.11` from `tf.optimisers` ([fork16](https://github.com/dsgibbons/shap/pull/16) by simonangerbauer).
- Fixed deprecation warnings for `sklearn>=1.2` from `sklearn.linear_model` ([fork22](https://github.com/dsgibbons/shap/pull/22) by dsgibbons).
- Fixed deprecation warnings for `xgboost>=1.4` from `ntree_limit` in tree explainer ([2987](https://github.com/slundberg/shap/pull/2987) by adnene-guessoum).
- Fixed build on Windows and MacOS ([3015](https://github.com/slundberg/shap/pull/3015) by PrimozGodec; [#3028](https://github.com/slundberg/shap/pull/3028), [#3029](https://github.com/slundberg/shap/pull/3029) and [#3031](https://github.com/slundberg/shap/pull/3031) by connortann).
- Fixed creation of ragged arrays in `shap.explainers.Exact` ([3064](https://github.com/slundberg/shap/pull/3064) by connortann).

Changed

- Updates to docstrings of several `shap.plots` functions ([3003](https://github.com/slundberg/shap/pull/3003), [#3005](https://github.com/slundberg/shap/pull/3005) by thatlittleboy).

Removed

- Deprecated the Boston house price dataset ([fork38](https://github.com/dsgibbons/shap/pull/38) by thatlittleboy).
- Removed the unused `mimic.py` file and `MimicExplainer` code ([fork53](https://github.com/dsgibbons/shap/pull/53) by thatlittleboy).

Maintenance

- Fixed failing unit tests ([fork29](https://github.com/dsgibbons/shap/pull/29) by dsgibbons, [fork#20](https://github.com/dsgibbons/shap/pull/20) by simonangerbauer, [#3044](https://github.com/slundberg/shap/pull/3044) and [fork#24](https://github.com/dsgibbons/shap/pull/24) by connortann).
- Include CUDA GPU C extension files in the source distribution ([3009](https://github.com/slundberg/shap/pull/3009) by jklaise).
- Fixed installation of package via setuptools ([fork51](https://github.com/dsgibbons/shap/pull/51) by thatlittleboy).
- Introduced a minimal set of `ruff` linting ([fork25](https://github.com/dsgibbons/shap/pull/25), [fork#26](https://github.com/dsgibbons/shap/pull/26), [fork#27](https://github.com/dsgibbons/shap/pull/27), [#2973](https://github.com/slundberg/shap/pull/2973), [#2972](https://github.com/slundberg/shap/pull/2972) and [#2976](https://github.com/slundberg/shap/pull/2976) by connortann; [#2968](https://github.com/slundberg/shap/pull/2968), [#2986](https://github.com/slundberg/shap/pull/2986) by thatlittleboy).
- Updated project metadata to PEP 517 ([3022](https://github.com/slundberg/shap/pull/3022) by connortann).
- Introduced more thorough testing on CI against newer dependencies ([fork61](https://github.com/dsgibbons/shap/pull/61) and [#3017](https://github.com/slundberg/shap/pull/3017) by connortann)
- Reduced unit test time by ~5 mins ([3046](https://github.com/slundberg/shap/pull/3046) by connortann).
- Introduced fixtures for reproducible fuzz testing ([3048](https://github.com/slundberg/shap/pull/3048) by connortann).

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.