Explicabilité locale avec SHAP

Explainable AI en Python

Fouad Trad

Machine Learning Engineer

Explicabilité globale vs locale

Explicabilité globale
  • Comportement général du modèle
  • N'explique pas les instances individuelles

Professeur expliquant le rendement général de la classe à tous les élèves.

Explicabilité locale
  • Explique la prédiction pour un point de données précis
  • Cruciale pour les applications sensibles

Professeur expliquant à un élève précis la raison de sa note.

1 Images générées par DALL-E
Explainable AI en Python

Ensemble de données sur les maladies cardiaques

age sex chest_pain_type blood_pressure ecg_results thalassemia target
52 1 0 125 1 3 0
53 1 0 140 0 3 0
70 1 0 145 1 3 0
61 1 0 148 1 3 0
62 0 0 138 1 2 0

 

knn: Classifieur KNN prédisant le risque de cardiopathie

Explainable AI en Python

Explicabilité locale avec SHAP

explainer = shap.KernelExplainer(knn.predict_proba, shap.kmeans(X, 10))

test_instance = X.iloc[0, :]
shap_values = explainer.shap_values(test_instance)
print(shap_values.shape)
(6, 2)
Explainable AI en Python

Graphiques en cascade SHAP

  • Montre comment les variables augmentent ou diminuent la prédiction du modèle

Un graphique en cascade (waterfall) montrant plusieurs variables et leur contribution à la prédiction.

Explainable AI en Python

Graphiques en cascade SHAP

  • Montre comment les variables augmentent ou diminuent la prédiction du modèle

Même graphique en cascade montrant la valeur de référence, qui sert de point de départ à la prédiction.

Explainable AI en Python

Graphiques en cascade SHAP

  • Montre comment les variables augmentent ou diminuent la prédiction du modèle

Même graphique en cascade montrant que, dans ces graphiques, les variables poussant vers la droite augmentent la prédiction, tandis que celles poussant vers la gauche la diminuent.

Explainable AI en Python

Créer des graphiques en cascade

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
Explainable AI en Python

Cascades pour plusieurs instances

Figure présentant quatre graphiques en cascade, un par échantillon, montrant que des échantillons différents suivent des parcours distincts pour aboutir à la décision du modèle.

Explainable AI en Python

Passons à la pratique !

Explainable AI en Python

Preparing Video For Download...