Explicabilité locale avec SHAP

IA explicable en Python

Fouad Trad

Machine Learning Engineer

Explicabilité globale vs locale

Explicabilité globale
  • Comportement global du modèle
  • N’explique pas les instances individuelles

Professeur expliquant la performance générale 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
IA explicable en Python

Jeu 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 maladie cardiaque

IA explicable 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)
IA explicable en Python

Diagrammes en cascade SHAP

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

Un diagramme en cascade montrant plusieurs variables et la contribution de chacune à la prédiction.

IA explicable en Python

Diagrammes en cascade SHAP

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

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

IA explicable en Python

Diagrammes en cascade SHAP

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

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

IA explicable en Python

Créer des diagrammes en cascade

shap.waterfall_plot(

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

Cascades pour plusieurs instances

Figure affichant quatre diagrammes en cascade, un par échantillon, illustrant comment différents échantillons suivent des schémas distincts pour aboutir à la décision du modèle.

IA explicable en Python

Passons à la pratique !

IA explicable en Python

Preparing Video For Download...