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

Add initial explainer. #25

Merged
merged 13 commits into from
Dec 7, 2023
Merged

Add initial explainer. #25

merged 13 commits into from
Dec 7, 2023

Conversation

mmschlk
Copy link
Owner

@mmschlk mmschlk commented Dec 7, 2023

Additions

This PR adds mainly the first iteration of the base explainer to the shapiq package which should serve as the main interface to the package. This PR also adds the KernelSHAP approximator, which is the first estimator to compute only Shapley values (SVs) of max_order=1.

Explainer

The explainer supports marginal feature removal and is currently quite limited in its application and needs further testing. Main features include:

  • Marginal Feature Removal
  • Automatic Approximator selection (may need tweaking)

New Approximator: KernelSHAP

The KernelSHAP approximator is a regression estimator of order 1. It computes the SV according to Lundberg er al.‘s definition with multiple modernizations and tweaks that materialized over the recent years. One of those optimizations is paired sampling.

Cleanup

The main code quality improvements include a refactoring of the tests into submodules and some tweaks with the imports.

@mmschlk mmschlk added the enhancement New feature or request label Dec 7, 2023
@mmschlk mmschlk self-assigned this Dec 7, 2023
@mmschlk mmschlk merged commit 893c7a3 into main Dec 7, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

1 participant