You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactoring TreeExplainer, Adding InterventionalTreeExplainer and RegressionMSR approximator. (#519)
* update datast
* remove local tabarena datasets
* Update the TreeExplainer. Introducing improved InterventionalTreeExplainer. Improved Tree conversions. Added CatBoostSupport.
* Added proper XGBoost support for LinearTreeSHAP.
* add Windows support for SIMD
* update docs examples
* Added citation to RegressionMSR
Adds [`ProxySHAP`](src/shapiq/approximator/proxy/proxyshap.py) as a new approximator that accelerates Shapley interaction estimation by fitting a lightweight **proxy tree model** (XGBoost by default) on sampled coalitions, computing _exact_ interactions for the proxy via the `InterventionalTreeExplainer`, and then optionally correcting for the approximation error on the true model.
32
+
Adds [`RegressionMSR`](srd/shapiq/approximator/proxy/regressionmsr.py) as a new approximator that accelerates Shapley value estimation by fitting a lightweight **proxy tree model** (XGBoost by default) on sampled coalitions, computing _exact_ interactions for the proxy via the `InterventionalTreeExplainer`, and then optionally correcting for the approximation error on the true model.
28
33
29
34
Four adjustment strategies are supported:
30
35
31
36
-**`"none"`**: use proxy interactions directly (fastest, least accurate)
32
-
-**`"msr-b"`**_(default)_: biased MSR adjustment using the new `MSRBiased` approximator
33
-
-**`"shapiq"`** / **`"svarm"`** / **`"kernel"`**: unbiased adjustments via established estimators
37
+
-**`"msr"`** / **`"svarm"`** / **`"kernel"`**: unbiased adjustments via established estimators
34
38
35
-
The internal `MSRBiased` approximator is also exposed for use as a standalone estimator.
36
39
This implementation relies on C-extension routines (`compute_interactions_sparse`) for high-throughput coalition evaluation.
└── interventional/ — InterventionalTreeExplainer and InterventionalGame
58
61
```
59
62
63
+
The conversion of the tree methods has been moved to C++ giving at least 2x up to 6x times speeup over shap tree conversion.
64
+
60
65
#### Introducing Explainers for Nearest Neighbor Models
61
66
62
67
Adds three new explainers, namely `KNNExplainer`, `WeightedKNNExplainer` and `ThresholdNNExplainer`, which efficiently compute explanations for nearest neighbor models from the [scikit-learn](https://scikit-learn.org/stable/) library.
63
68
One application of these explainers is Data Valuation, i.e. the task of evaluating the usefulness of training data points for training models.
64
69
70
+
### Bugfix
71
+
72
+
- fixes a bug in tree conversion, such that tree models with no splits are still correctly parsed. [#370](https://github.com/mmschlk/shapiq/issues/370)
73
+
- fixes `min_order` in `TreeExplainer` so that it now actually restricts the returned `InteractionValues` to interactions of order ``min_order..max_order`` (``min_order=0`` continues to include the empty interaction at the baseline value); invalid values now raise a clear `ValueError`. [#325](https://github.com/mmschlk/shapiq/issues/325)
0 commit comments