Lokale Erklärbarkeit mit LIME

Erklärbare KI in Python

Fouad Trad

Machine Learning Engineer

  • LIME → Local Interpretable Model-Agnostic Explanations
  • Erklärt Vorhersagen komplexer Modelle
  • Arbeitet auf einzelnen Instanzen
  • Modellagnostisch

LIME-Logo.

Erklärbare KI in Python

LIME-Erklärer

  • Für verschiedene Datentypen angepasst

Diagramm der verfügbaren LIME-Erklärer. Der erste ist der tabellarische LIME-Erklärer.

Erklärbare KI in Python

LIME-Erklärer

  • Für verschiedene Datentypen angepasst

Dasselbe Diagramm zeigt zusätzlich den Text-Erklärer.

Erklärbare KI in Python

LIME-Erklärer

  • Für verschiedene Datentypen angepasst
  • Erzeugt Störungen um eine Stichprobe
  • Beobachtet die Wirkung auf die Modellausgabe
  • Baut ein einfacheres Erklärungsmodell

Dasselbe Diagramm zeigt zusätzlich den Bild-Erklärer.

Erklärbare KI in Python

LIME-Erklärer

  • Für verschiedene Datentypen angepasst
  • Erzeugt Störungen um eine Stichprobe
  • Beobachtet die Wirkung auf die Modellausgabe
  • Baut ein einfacheres Erklärungsmodell

Dasselbe Diagramm mit hervorgehobenem Tabellenerklärer.

Erklärbare KI in Python

Admissions-Dataset

GRE-Score TOEFL-Score Hochschul-Rating SOP LOR CGPA Zulassungswahrsch. Annahme
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0

 

  • regressor: sagt Zulassungswahrscheinlichkeit voraus
  • classifier: sagt Annahme voraus
  • Features in X
Erklärbare KI in Python

Tabellarischen Erklärer erstellen

Regression
from lime.lime_tabular import LimeTabularExplainer

instance = X.iloc[1,:]
explainer_reg = LimeTabularExplainer( X.values,
feature_names=X.columns,
mode='regression'
)
explanation_reg = explainer_reg.explain_instance(
instance.values,
regressor.predict
)
Klassifikation
from lime.lime_tabular import LimeTabularExplainer

instance = X.iloc[1,:]
explainer_class = LimeTabularExplainer( X.values,
feature_names=X.columns,
mode='classification'
)
explanation_class = explainer_class.explain_instance(
instance.values,
classifier.predict_proba
)
Erklärbare KI in Python

Erklärung visualisieren

Regression
explanation_reg.as_pyplot_figure()

Balkendiagramm mit dem Effekt jedes Features auf das Regressionsmodell. Features liegen in einem Bereich zur besseren Interpretierbarkeit.

Klassifikation
explanation_class.as_pyplot_figure()

Balkendiagramm mit dem Effekt jedes Features auf das Klassifikationsmodell. Features liegen in einem Bereich zur besseren Interpretierbarkeit.

Erklärbare KI in Python

SHAP vs. LIME

SHAP
shap.waterfall_plot(...)

SHAP-Wasserfalldiagramm, das zeigt, wie jedes Feature die Vorhersage positiv oder negativ beeinflusst.

LIME
explanation_class.as_pyplot_figure()

Balkendiagramm mit dem Effekt jedes Features auf das Klassifikationsmodell. Features liegen in einem Bereich zur besseren Interpretierbarkeit.

Erklärbare KI in Python

Lass uns üben!

Erklärbare KI in Python

Preparing Video For Download...