Indicateurs d'explicabilité

Explainable AI en Python

Fouad Trad

Machine Learning Engineer

Cohérence

  • Évalue la stabilité des explications quand le modèle est entraîné sur différents sous-ensembles
  • Faible cohérence → explications non robustes

Image montrant un ensemble de données divisé en deux sous-ensembles : sous-ensemble 1 et sous-ensemble 2.

Explainable AI en Python

Cohérence

  • Évalue la stabilité des explications quand le modèle est entraîné sur différents sous-ensembles
  • Faible cohérence → explications non robustes

Un modèle est entraîné sur chaque sous-ensemble.

Explainable AI en Python

Cohérence

  • Évalue la stabilité des explications quand le modèle est entraîné sur différents sous-ensembles
  • Faible cohérence → explications non robustes

Chaque fois que le modèle est entraîné sur un sous-ensemble, on obtient l'importance des variables et on calcule leur similarité cosinus.

Explainable AI en Python

Similarité cosinus pour mesurer la cohérence

 

 

 

Image montrant les valeurs clés de Cohérence et leur signification : pour 1, explications très cohérentes.

Explainable AI en Python

Similarité cosinus pour mesurer la cohérence

 

 

 

Image montrant les valeurs clés de Cohérence et leur signification : pour 1, explications très cohérentes ; pour 0, pas d'explications cohérentes.

Explainable AI en Python

Similarité cosinus pour mesurer la cohérence

 

 

 

Image montrant les valeurs clés de Cohérence et leur signification : pour 1, explications très cohérentes ; pour 0, pas d'explications cohérentes ; et pour -1, explications opposées.

Explainable AI en Python

Ensemble de données d'admissions

GRE Score TOEFL Score University Rating SOP LOR CGPA Chance of Admit
337 118 4 4.5 4.5 9.65 0.92
324 107 4 4 4.5 8.87 0.76
316 104 3 3 3.5 8 0.72
322 110 3 3.5 2.5 8.67 0.8
314 103 2 2 3 8.21 0.45

 

  • X1, y1 : première partie de l'ensemble de données
  • X2, y2 : deuxième partie de l'ensemble de données
  • model1, model2 : régressions par forêt aléatoire
Explainable AI en Python

Calculer la cohérence

from sklearn.metrics.pairwise import cosine_similarity

explainer1 = shap.TreeExplainer(model1) explainer2 = shap.TreeExplainer(model2)
shap_values1 = explainer1.shap_values(X1) shap_values2 = explainer2.shap_values(X2)
feature_importance1 = np.mean(np.abs(shap_values1), axis=0) feature_importance2 = np.mean(np.abs(shap_values2), axis=0)
consistency = cosine_similarity([feature_importance1], [feature_importance2]) print("Consistency between SHAP values:", consistency)
Consistency between SHAP values: [[0.99706516]]
Explainable AI en Python

Fidélité

  • Vérifie si les variables importantes influencent les prédictions du modèle
  • Faible fidélité → confiance trompeuse dans le raisonnement du modèle
  • Utile dans les contextes sensibles

Image montrant un modèle générant une prédiction initiale pour un échantillon d'entrée.

Explainable AI en Python

Fidélité

  • Vérifie si les variables importantes influencent les prédictions du modèle
  • Faible fidélité → confiance trompeuse dans le raisonnement du modèle
  • Utile dans les contextes sensibles

SHAP ou LIME servent à expliquer localement cette prédiction initiale.

Explainable AI en Python

Fidélité

  • Vérifie si les variables importantes influencent les prédictions du modèle
  • Faible fidélité → confiance trompeuse dans le raisonnement du modèle
  • Utile dans les contextes sensibles

Un échantillon modifié est soumis au modèle pour générer une nouvelle prédiction.

Explainable AI en Python

Fidélité

  • Vérifie si les variables importantes influencent les prédictions du modèle
  • Faible fidélité → confiance trompeuse dans le raisonnement du modèle
  • Utile dans les contextes sensibles

Image montrant la formule pour calculer la fidélité : la valeur absolue de la différence entre la nouvelle prédiction et la prédiction initiale.

Explainable AI en Python

Calculer la fidélité

X_instance = X_test.iloc[[0]]

original_prediction = model.predict_proba(X_instance)[0, 1] print(f"Original prediction: {original_prediction}")
Original prediction: 0.43

Image montrant l'explication de l'importance des variables par LIME pour l'échantillon choisi.

Explainable AI en Python

Calculer la fidélité

X_instance['GRE Score'] = 310  


new_prediction = model.predict_proba(X_instance)[0, 1] print(f"Prediction after perturbing {important_feature}: {new_prediction}")
faithfulness_score = np.abs(original_prediction - new_prediction) print(f"Local Faithfulness Score: {faithfulness_score}")
Prediction after perturbing GRE Score: 0.77

Local Faithfulness Score: 0.34
Explainable AI en Python

Passons à la pratique !

Explainable AI en Python

Preparing Video For Download...