SHAP-Erklärbarkeit visualisieren

Erklärbare KI in Python

Fouad Trad

Machine Learning Engineer

Datensatz

age gender bmi children smoker charges
19 0 27.900 0 1 16884.92
18 1 33.770 1 0 1725.55
28 1 33.000 3 0 4449.46
33 1 22.705 0 0 21984.47
32 1 28.880 0 0 3866.85

model: Random-Forest-Regressor zur Vorhersage von charges

import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
Erklärbare KI in Python

Feature-Importance-Plot

  • Zeigt den Beitrag jedes Features zum Modelloutput
shap.summary_plot(shap_values, X, plot_type="bar")

Feature-Importance-Plot, der zeigt, dass der Rauchstatus das wichtigste Feature ist.

Erklärbare KI in Python

Beeswarm-Plot

  • Zeigt die Verteilung der SHAP-Werte
  • Hebt Richtung und Stärke des Feature-Einflusses hervor
    • Rot → hoher Feature-Wert
    • Blau → niedriger Feature-Wert
    • SHAP-Wert > 0 → erhöht das Ergebnis
    • SHAP-Wert < 0 → senkt das Ergebnis

Beeswarm-Plot mit SHAP-Wert-Verteilung je Feature; Farben zeigen Feature-Werte.

Erklärbare KI in Python

Beeswarm-Plot

  • Zeigt die Verteilung der SHAP-Werte
  • Hebt Richtung und Stärke des Feature-Einflusses hervor
    • Rot → hoher Feature-Wert
    • Blau → niedriger Feature-Wert
    • SHAP-Wert > 0 → erhöht das Ergebnis
    • SHAP-Wert < 0 → senkt das Ergebnis

Gleicher Beeswarm-Plot, der zeigt, dass hohe Werte des Features „smoker“ positive SHAP-Werte haben.

Erklärbare KI in Python

Beeswarm-Plot

  • Zeigt die Verteilung der SHAP-Werte
  • Hebt Richtung und Stärke des Feature-Einflusses hervor
    • Rot → hoher Feature-Wert
    • Blau → niedriger Feature-Wert
    • SHAP-Wert > 0 → erhöht das Ergebnis
    • SHAP-Wert < 0 → senkt das Ergebnis
shap.summary_plot(shap_values, X, 
                  plot_type="dot")

Gleicher Beeswarm-Plot, der zeigt, dass niedrige Werte des Features „smoker“ negative SHAP-Werte haben.

Erklärbare KI in Python

Partial-Dependence-Plot

  • Zeigt Zusammenhang zwischen Feature und Prognose
  • Zeigt den Einfluss des Features über seinen Bereich
  • Prüft, ob der Zusammenhang erwartungsgemäß ist

Ein generischer Partial-Dependence-Plot, der eine abnehmende Funktion zwischen Feature und Ergebnis zeigt.

Erklärbare KI in Python

Partial-Dependence-Plot

  • Für jede Stichprobe:
    • Wert des gewählten Features variieren
    • Andere Features konstant halten
    • Ergebnis vorhersagen
  • Ergebnisse über alle Stichproben mitteln
shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Partial-Dependence-Plot für das Feature age, der zeigt: Mit steigendem Alter steigt der vorhergesagte Wert.

Erklärbare KI in Python

Partial-Dependence-Plot

  • Für jede Stichprobe:

    • Wert des gewählten Features variieren
    • Andere Features konstant halten
    • Ergebnis vorhersagen
  • Ergebnisse über alle Stichproben mitteln

shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Gleicher Partial-Dependence-Plot, der die Verteilung der Alterswerte im Datensatz hervorhebt.

Erklärbare KI in Python

Lass uns üben!

Erklärbare KI in Python

Preparing Video For Download...