Erklärbarkeitsmetriken

Erklärbare KI in Python

Fouad Trad

Machine Learning Engineer

Konsistenz

  • Bewertet die Stabilität von Erklärungen bei Training auf unterschiedlichen Teilmengen
  • Niedrige Konsistenz → keine robusten Erklärungen

Bild eines Datensatzes, geteilt in zwei Teilmengen: Teilmenge 1 und Teilmenge 2.

Erklärbare KI in Python

Konsistenz

  • Bewertet die Stabilität von Erklärungen bei Training auf unterschiedlichen Teilmengen
  • Niedrige Konsistenz → keine robusten Erklärungen

Ein Modell wird auf jeder Teilmenge trainiert.

Erklärbare KI in Python

Konsistenz

  • Bewertet die Stabilität von Erklärungen bei Training auf unterschiedlichen Teilmengen
  • Niedrige Konsistenz → keine robusten Erklärungen

Jedes Mal, wenn das Modell auf einer Teilmenge trainiert wird, leiten wir Feature-Importanzen ab und berechnen deren Kosinussimilarität.

Erklärbare KI in Python

Kosinussimilarität zur Messung der Konsistenz

 

 

 

Bild mit Schlüsselwerten der Konsistenz und deren Bedeutung: 1 = stark konsistente Erklärungen.

Erklärbare KI in Python

Kosinussimilarität zur Messung der Konsistenz

 

 

 

Bild mit Schlüsselwerten der Konsistenz und deren Bedeutung: 1 = stark konsistente Erklärungen, 0 = keine konsistenten Erklärungen,

Erklärbare KI in Python

Kosinussimilarität zur Messung der Konsistenz

 

 

 

Bild mit Schlüsselwerten der Konsistenz und deren Bedeutung: 1 = stark konsistente Erklärungen, 0 = keine konsistenten Erklärungen, -1 = gegenteilige Erklärungen.

Erklärbare KI in Python

Zulassungsdatensatz

GRE-Score TOEFL-Score Uni-Rating SOP LOR CGPA Zulassungs-chance
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: erster Teil des Datensatzes
  • X2, y2: zweiter Teil des Datensatzes
  • model1, model2: Random-Forest-Regressoren
Erklärbare KI in Python

Konsistenz berechnen

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]]
Erklärbare KI in Python

Faithfulness

  • Prüft, ob wichtige Features die Vorhersagen beeinflussen
  • Niedrige Faithfulness → irreführendes Vertrauen in die Modellbegründung
  • Nützlich in sensiblen Anwendungen

Bild: Ein Modell erzeugt eine ursprüngliche Vorhersage für eine Eingabeprobe.

Erklärbare KI in Python

Faithfulness

  • Prüft, ob wichtige Features die Vorhersagen beeinflussen
  • Niedrige Faithfulness → irreführendes Vertrauen in die Modellbegründung
  • Nützlich in sensiblen Anwendungen

SHAP oder LIME erklären lokal die ursprüngliche Vorhersage.

Erklärbare KI in Python

Faithfulness

  • Prüft, ob wichtige Features die Vorhersagen beeinflussen
  • Niedrige Faithfulness → irreführendes Vertrauen in die Modellbegründung
  • Nützlich in sensiblen Anwendungen

Eine veränderte Probe wird ins Modell gegeben, um eine neue Vorhersage zu erzeugen.

Erklärbare KI in Python

Faithfulness

  • Prüft, ob wichtige Features die Vorhersagen beeinflussen
  • Niedrige Faithfulness → irreführendes Vertrauen in die Modellbegründung
  • Nützlich in sensiblen Anwendungen

Formel zur Herleitung der Faithfulness: absoluter Wert der Differenz zwischen neuer und ursprünglicher Vorhersage.

Erklärbare KI in Python

Faithfulness berechnen

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

Bild: LIME-Feature-Importance-Erklärung für die ausgewählte Probe.

Erklärbare KI in Python

Faithfulness berechnen

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
Erklärbare KI in Python

Lass uns üben!

Erklärbare KI in Python

Preparing Video For Download...