0Pricing
Learn AI with Python · Lektion

SHAP-Werte zur Erklärbarkeit von Modellen

shap.Explainer, TreeExplainer, Force-Plots, Beeswarm-Plots, Rangfolge der Feature-Wichtigkeit.

SHAP-Werte zur Erklärbarkeit von Modellen ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Warum Erklärbarkeit wichtig ist

Komplexe Modelle sind zwar genau, aber undurchsichtig. Erklärbarkeit beantwortet die Frage „Warum hat das Modell diese Vorhersage getroffen?“. Das ist entscheidend für Vertrauen, Fehlersuche und die Einhaltung gesetzlicher Vorgaben. SHAP ist eine der am häufigsten verwendeten Methoden zur Erklärung von Modellen.

Was SHAP misst

SHAP (SHapley Additive exPlanations) weist jedem Feature einen Beitrag zu einer einzelnen Vorhersage zu. Die Werte basieren auf den Shapley-Werten aus der kooperativen Spieltheorie: Jedes Feature ist ein „Spieler“, und sein SHAP-Wert entspricht seinem fairen Anteil an der Vorhersage im Verhältnis zu einem Basiswert.

Additivität

SHAP-Werte sind additiv: Der Basiswert, also die durchschnittliche Modellausgabe, plus die Summe aller SHAP-Werte der Features ergibt die tatsächliche Vorhersage. Dadurch ist jede Erklärung eine vollständige und prüfbare Aufschlüsselung der Ausgabe.

# prediction = base_value + sum(shap_values_for_each_feature)

TreeExplainer

Für Baummodelle (XGBoost, LightGBM, Random Forests) berechnet shap.TreeExplainer exakte SHAP-Werte schnell, indem die Struktur der Bäume genutzt wird.

import shap
import xgboost

model = xgboost.XGBClassifier().fit(X_train, y_train)
explainer = shap.TreeExplainer(model)

shap_values berechnen

explainer.shap_values(X_test) gibt eine Matrix zurück: einen SHAP-Wert pro Feature und pro Zeile. Das sind die Rohbeiträge, die Sie visualisieren werden.

shap_values = explainer.shap_values(X_test)
print(shap_values.shape)  # (n_samples, n_features)

Der Beeswarm von summary_plot

shap.summary_plot erzeugt ein Beeswarm-Diagramm: Jeder Punkt steht für ein Sample bei einem Feature. Die Position zeigt den SHAP-Wert, also Richtung und Stärke des Einflusses; die Farbe zeigt den Feature-Wert. Die Features sind nach ihrer Gesamtbedeutung sortiert.

shap.summary_plot(shap_values, X_test)

Das Beeswarm-Diagramm lesen

So lesen Sie ein Beeswarm-Diagramm:

  • Die obersten Features sind global am wichtigsten
  • Punkte weit rechts erhöhen die Vorhersage, Punkte weit links senken sie
  • Die Farbe zeigt die Richtung: Hohe Feature-Werte (rot) auf der rechten Seite bedeuten beispielsweise, dass ein hoher Wert die Vorhersage erhöht

Eine Vorhersage erklären

SHAP spielt seine Stärken auf individueller Ebene aus. Um eine einzelne Zeile zu erklären, benötigen Sie deren SHAP-Werte und den Basiswert des Modells.

idx = 0
base = explainer.expected_value
row_shap = shap_values[idx]

force_plot

shap.force_plot stellt eine einzelne Vorhersage als Kräfte dar, die vom Basiswert aus wirken: Rote Features erhöhen die Ausgabe, blaue Features senken sie. Das Nettoergebnis entspricht der endgültigen Vorhersage.

shap.force_plot(
    explainer.expected_value,
    shap_values[0],
    X_test.iloc[0],
)

waterfall_plot

shap.waterfall_plot ist die am leichtesten lesbare Ansicht für eine einzelne Vorhersage. Die Darstellung beginnt beim Basiswert und addiert die Beiträge der einzelnen Features Schritt für Schritt, bis die endgültige Ausgabe erreicht ist. Die Beiträge sind nach ihrer Größe sortiert.

shap.waterfall_plot(
    shap.Explanation(
        values=shap_values[0],
        base_values=explainer.expected_value,
        data=X_test.iloc[0],
    )
)

Global vs. lokal

SHAP erfüllt zwei Anforderungen:

  • Global: summary_plot zeigt, welche Features das Modell insgesamt beeinflussen
  • Lokal: force_plot und waterfall_plot erklären eine bestimmte einzelne Vorhersage

Beide Ansichten beruhen auf denselben SHAP-Werten und liefern dadurch über beide Ebenen hinweg ein konsistentes Bild.

Schnelltest

Testen Sie Ihr Wissen über SHAP.

Zusammenfassung

Sie haben die Erklärbarkeit von Modellen mit SHAP kennengelernt:

  • shap.TreeExplainer(model) berechnet exakte Werte für Baummodelle
  • explainer.shap_values(X_test) gibt die Beiträge der einzelnen Features zurück
  • Das Beeswarm-Diagramm von summary_plot zeigt die globale Bedeutung
  • force_plot und waterfall_plot erklären eine einzelne Vorhersage
  • SHAP-Werte sind additiv: Basiswert + Beiträge = Vorhersage

Häufig gestellte Fragen

Ist die Lektion „SHAP-Werte zur Erklärbarkeit von Modellen“ kostenlos?

Ja — der vollständige Text von „SHAP-Werte zur Erklärbarkeit von Modellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „SHAP-Werte zur Erklärbarkeit von Modellen“?

shap.Explainer, TreeExplainer, Force-Plots, Beeswarm-Plots, Rangfolge der Feature-Wichtigkeit. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „SHAP-Werte zur Erklärbarkeit von Modellen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Verzerrungen in ML-Modellen erkennen
  2. SHAP-Werte zur Erklärbarkeit von Modellen
  3. LIME: lokal interpretierbare Erklärungen
  4. Frameworks für KI-Ethik und Governance
← Zurück zu Learn AI with Python