← retour aux snippets

SHAP: valeurs d'interaction

calculer et visualiser les interactions de features avec SHAP

SHAP: valeurs d’interaction

objectif

Expliquer et montrer comment calculer et visualiser les interactions de features avec SHAP.

code minimal

import shap
import xgboost as xgb
from sklearn.datasets import load_breast_cancer
X, y = load_breast_cancer(return_X_y=True, as_frame=True)
model = xgb.XGBClassifier(n_estimators=200, max_depth=4, subsample=0.8, colsample_bytree=0.8, eval_metric="logloss", random_state=0).fit(X, y)
expl = shap.TreeExplainer(model)
shap_int = expl.shap_interaction_values(X.sample(200, random_state=0))
type(shap_int)

utilisation

# waterfall/summary plot (nécessite environnement graphique)
# shap.summary_plot(shap_int, X.sample(200, random_state=0))

variante(s) utile(s)

# interactions pour une pair spécifique
# shap.dependence_plot((0,1), shap_int, X)

notes

  • Les interactions aident à comprendre les effets croisés entre variables.
  • Coût mémoire élevé; échantillonnez X.