linkedin / linkedin/FastTreeSHAP
Additivity check fails with XGBoost
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 566
- Forks
- 38
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hi,
when using XGB, the additivity check fails, while it does not when using native shap or lightgbm
Using `xgboost 1.7.6, shap 0.41.0 and fasttreeshap 0.1.6`
could it be linked to https://github.com/linkedin/FastTreeSHAP/issues/15 ?
example (changing `algorithm` or `feature_perturbation` lead to the same error):
```python
from sklearn.datasets import make_regression
from xgboost import XGBRegressor
from lightgbm import LGBMRegressor
from fasttreeshap import TreeExplainer as FastTreeExplainer
X, y = make_regression(n_samples=1000, n_features=10, n_informative=8, noise=1, random_state=8)
model = XGBRegressor() #LGBMRegressor()
model.fit(X, y)
explainer = FastTreeExplainer(model, algorithm="auto", shortcut=False, feature_perturbation="tree_path_dependent")
shap_matrix = explainer.shap_values(X)
```
```
Exception: Additivity check failed in TreeExplainer! Please ensure [...]
```
The following runs fine
```python
explainer = shap.TreeExplainer(model, feature_perturbation="tree_path_dependent")
shap_values = explainer.shap_values(X)
```
Thanks
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das gemeldete XGBRegressor-Beispiel mit xgboost 1.7.6, shap 0.41.0 und fasttreeshap 0.1.6 auszuführen, und vergleiche es anschließend mit den nativen SHAP- und LightGBM-Fällen. Untersuche den Additivitätsprüfpfad von fasttreeshap.TreeExplainer und dessen XGBoost-Behandlung, einschließlich des verknüpften Issues, um zu ermitteln, warum die Prüfung fehlschlägt. Als abgeschlossen gilt die Aufgabe, wenn das XGBoost-Beispiel ohne die Additivitätsausnahme ausgeführt wird und die Prüfung weiterhin gültig ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- machine-learning
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100