Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta-issue] deprecation tracker for upcoming releases #3507

Open
12 of 18 tasks
connortann opened this issue Feb 15, 2024 · 2 comments
Open
12 of 18 tasks

[Meta-issue] deprecation tracker for upcoming releases #3507

connortann opened this issue Feb 15, 2024 · 2 comments
Labels
BREAKING Indicates that a PR is introducing a breaking change
Milestone

Comments

@connortann
Copy link
Collaborator

connortann commented Feb 15, 2024

This is a meta-issue to track any deprecation cycles within the shap package.

Maintainers, feel free to edit this tracker as necessary,

Recommendations for which warning to use:

For deprecated parameters in e.g. plotting functions, we probably want FutureWarning.

Excerpt from PEP0565:

  • PendingDeprecationWarning: hidden by default for all code. The intended audience is Python developers that take an active interest in ensuring the future compatibility of their software (e.g. professional Python application developers with specific support obligations).
  • DeprecationWarning: reported by default for code that runs directly in the __main__ module (as such code is considered relatively unlikely to have a dedicated test suite), but hidden by default for code in other modules. The intended audience is Python developers that are at risk of upgrades to their dependencies (including upgrades to Python itself) breaking their software (e.g. developers using Python to script environments where someone else is in control of the timing of dependency upgrades).
  • FutureWarning: reported by default for all code. The intended audience is users of applications written in Python, rather than other Python developers (e.g. warning about use of a deprecated setting in a configuration file format).

Scheduled for removal

Items that raise a DeprecationWarning due to be removed in an specific release:

0.45.0

Parameters which were renamed:

feature_dependence -> feature_perturbation
independent -> interventional
correlation -> correlation_dependent
logloss -> log_loss
margin -> raw

Begin raising warnings for:

0.46.0

To be removed:

0.47.0

Remove unused / dead code:

0.48.0

To be removed:

  • shap.plots._violin.py: remove unused title parameter

0.49.0

At some point, at our leisure

Remove unused / dead code:

  • `shap/plots/_text.py:text_old()
    • We should remove this once we have overhauled the rest of _text.py, got the test coverage up and looked over other functions in that module e.g. _text.saliency_plot() and _text.heatmap().
@connortann connortann added this to the 0.45.0 milestone Feb 15, 2024
@connortann connortann added the BREAKING Indicates that a PR is introducing a breaking change label Feb 15, 2024
@CloseChoice
Copy link
Collaborator

CloseChoice commented Feb 23, 2024

Do we really want to deprecate PermutationExplainer.shap_values? That is possible for all other explainers aswell, don't see why we should introduce inconsistency here.

Edit: I would also suggest to remove auto_size_plot from beeswarm entirely, since it is already ignored. Maybe even something for 0.45.0?

@connortann
Copy link
Collaborator Author

Do we really want to deprecate PermutationExplainer.shap_values? That is possible for all other explainers aswell, don't see why we should introduce inconsistency here.

Good point. I didn't give that one sufficient thought when I searched the repo for the word "deprecated". I'll make a PR to remove that warning.

Whilst I'm at it, I shall also ensure we have the versionadded and versionchanged notes to the docstrings of recent breaking changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BREAKING Indicates that a PR is introducing a breaking change
Projects
None yet
Development

No branches or pull requests

2 participants