Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Generieren von SHAP-Datensätzen während Vorhersagen

SHAP Importance-Datensätze können während der Ausführung einer Vorhersage generiert werden. Sie können die SHAP-Berechnungen in diesen Datensätzen verwenden, um zu verstehen, welche Features am meisten zu den vorhergesagten Werten beitragen.

SHAP-Datensätze enthalten die SHAP-Berechnungen auf Zeilenebene für die Features, die zum Trainieren des Modells verwendet werden. Diese Werte stellen dar, wie viel ein Feature zum vorhergesagten Wert im Ziel im Hinblick auf alle anderen Features dieser Zeile beiträgt.

Beispielsweise kann SHAP Importance angeben, ob ein Feature mehr oder weniger wahrscheinlich macht, dass ein Kunde kündigt, und wie stark das Feature dieses Ergebnis beeinflusst.

Nachdem Sie die Vorhersage ausgeführt und die Datensätze generiert haben, können Sie die SHAP-Werte in eine Qlik Sense App laden und zusammen mit den vorhergesagten Werten visualisieren. Weitere Einzelheiten finden Sie unter Visualisieren von SHAP-Werten in Qlik Sense-Apps und Verwenden von SHAP-Werten in realen Anwendungen.

In diesem Hilfethema geht es um die Generierung des SHAP-Datensatzes während Vorhersagen von ML-Bereitstellungen. Informationen zu SHAP Importance-Diagrammen, die während des Experimenttrainings angezeigt werden, finden Sie unter Verständnis der SHAP Importance im Experimenttraining.

Verfügbare Optionen für das Generieren von SHAP-Datensätzen

Wenn Sie eine Vorhersage konfigurieren, können Sie wählen, die SHAP-Datensätze in zwei verschiedenen Formaten zu generieren. Beide Optionen enthalten die gleichen Informationen, sind aber unterschiedlich strukturiert.

SHAP

Dies ist ein Datensatz, in dem SHAP-Werte in eine Spalte für jedes Feature getrennt werden. Diese Option ist für Mehrklassen-Klassifikationsmodelle nicht verfügbar.

SHAP koordinieren

In diesem Datensatz sind alle SHAP-Werte so strukturiert, dass sie in nur zwei Spalten aufgeteilt werden: einer „Feature“-Spalte und einer „Wert“-Spalte. Diese Option ist für alle Modelltypen verfügbar.

Datensätze aus Mehrklassen-Modellen funktionieren etwas anders als Datensätze aus binären Modellen. Für jeden vorherzusagenden Datensatzeintrag wird eine neue Zeile mit dem SHAP-Wert für jede mögliche Klasse erstellt, die zur Vorhersage durch das Modell verfügbar ist. In diesem Datensatz wird noch eine weitere Spalte erstellt, um die vom SHAP-Wert dargestellte Klasse zu identifizieren.

Wenn Vorhersagen und SHAP-Werte in eine Qlik Sense App geladen werden und ein Datenmodell erstellt wird, kann die Arbeit mit „SHAP koordinieren“-Datensätzen einfacher sein als die Arbeit mit SHAP-Datensätzen.

Beispiele

Die folgenden Tabellen enthalten Beispiele aus SHAP- und „SHAP koordinieren“-Datensätzen, die anhand eines für fünf Features trainierten Regressionsmodells erstellt wurden. Die Beispiele enthalten SHAP-Werte für zwei Datensatzeinträge aus dem Anwendungsdatensatz (was zwei Konto-IDs entspricht).

Diese Beispiele erläutern den Unterschied bei der Datenstrukturierung.

SHAP dataset sample
AccountID AdditionalFeatureSpend_SHAP Churned_SHAP CurrentPeriodUsage_SHAP HasRenewed_SHAP NumberOfPenalties_SHAP
aa16889 1.76830971241 -0.58154511451721 -1.106874704361 -0.36080026626587 3.6597540378571
aa33396 0.80359643697739 -0.64805734157562 0.076582334935665 0.38967734575272 -0.31007811427116
Coordinate SHAP dataset sample
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend1.76830971241
aa16889Churned-0.58154511451721
aa16889CurrentPeriodUsage-1.106874704361
aa16889HasRenewed-0.36080026626587
aa16889NumberOfPenalties3.6597540378571
aa33396AdditionalFeatureSpend0.80359643697739
aa33396Churned-0.64805734157562
aa33396CurrentPeriodUsage0.076582334935665
aa33396HasRenewed0.38967734575272
aa33396NumberOfPenalties-0.31007811427116

Interpretieren von SHAP-Vorhersagewerten

Anders als bei den Werten im SHAP Importance-Diagramm, das beim Experimenttraining angezeigt wird, enthalten SHAP-Datensätze SHAP-Berechnungen auf Zeilenebene, die richtungsabhängig sind. Die Werte sind also nicht absolut, sondern können positiv oder negativ sein. Beim Visualisieren der Werte in einer App können Sie je nach Anwendungsfall wählen, ob Sie sie als absolute Werte aggregieren.

Der SHAP-Wert für einen Datensatzeintrag muss hinsichtlich des entsprechenden vorhergesagten Werts für diesen Eintrag analysiert werden. Je nach Modelltyp (Binärklassifikation, Mehrklassen-Klassifikation oder Regression) muss die Richtungsabhängigkeit der SHAP-Werte etwas unterschiedlich interpretiert werden.

Klassifikationsmodelle

Bei Binärklassifikationsmodellen weisen hohe positive SHAP-Werte auf einen stärkeren Einfluss in Richtung eines der beiden möglichen Ergebnisse hin, während hohe negative Werte einen stärkeren Einfluss in Richtung des anderen Ergebnisses angeben. Wenn Sie die Daten in einer App verwenden, verhindert die Richtungsabhängigkeit der SHAP-Werte möglicherweise die erforderliche Analyse. Um dieses Problem zu lösen, können Sie die Richtung der SHAP-Werte umkehren (z. B. die ganze Spalte mit -1 multiplizieren). Weitere Informationen zur SHAP-Richtungsprüfung finden Sie unter Vorbereitungen.

Ein SHAP-Datensatz aus einem Mehrklassenmodell ist anders strukturiert. Er erstellt für jeden vorherzusagenden Datensatzeintrag eine getrennte Zeile für jede mögliche Klasse, zusammen mit dem entsprechenden SHAP-Wert für die Klasse. Die Klasse wird in einer Spalte „Predicted_class“ angegeben.

Interpretieren Sie in Ihrem „SHAP koordinieren“-Datensatz die SHAP-Werte aus Vorhersagen eines Mehrklassenmodells wie folgt:

  • Ein hoher positiver SHAP-Wert gibt an, dass das Feature einen stärkeren Einfluss auf das Ergebnis hat, das als „Predicted_class“ angegeben ist.

  • Ein hoher negativer SHAP-Wert gibt an, dass das Feature einen stärkeren Einfluss auf das Ergebnis hat, das nicht als „Predicted_class“ angegeben ist.

Beispiel

Das folgende Beispiel zeigt den Unterschied in der Datensatzstruktur zwischen der Ausgabe eines Binär- und eines Mehrklassen-Klassifikationsmodells.

Wir beginnen mit einem Anwendungsdatensatz, der eine Zeile pro Konto-ID enthält. Jedes Feature, für das das Modell trainiert wird, wird als eigene Spalte dargestellt.

Ein Datensatzeintrag mit einer Konto-ID sieht wie folgt aus:

Single record from a dataset on which predictions will be generated
AccountIDAdditionalFeatureSpendBaseFeeCurrentPeriodUsageHasRenewedNumberOfPenalties
aa1688918 33.52210.1yes4

Wenn wir ein Binärklassifikationsmodell für die Vorhersage des Ergebnisses eines Felds Churned trainieren, gibt es zwei mögliche Ergebnisse: „ja“ oder „nein“. Basierend auf dem Eintrag mit der einen Konto-ID oben sieht der „SHAP koordinieren“-Datensatz wie folgt aus:

Sample from coordinate SHAP dataset for binary classification model prediction
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend-0.049129267835076
aa16889BaseFee-1.5363064624041
aa16889CurrentPeriodUsage0.10787960191299
aa16889HasRenewed1.2441783315923
aa16889NumberOfPenalties2.3803616183224

In der obigen Tabelle werden die SHAP-Werte für eine einzelne Konto-ID angezeigt und nach Feature aufgeschlüsselt. Für jedes Feature wird eine neue Zeile erstellt, und jedem Feature wird ein SHAP-Wert zugewiesen. Die Richtung und die Größenordnung dieser SHAP-Werte müssen in Bezug auf die beiden möglichen Ergebnisse bewertet werden. Im Idealfall ist der Einfluss des Features auf das Ergebnis mit positiver Interpretation (in diesem Fall „ja“) umso stärker, je höher der SHAP-Wert ist. Wenn diese Darstellung umgekehrt ist, können Sie die Richtung der SHAP-Werte umkehren (sie mit -1 multiplizieren), damit die Analyse leichter interpretiert werden kann.

Nehmen wir zu Vergleichszwecken an, ein Mehrklassen-Klassifikationsmodell wird für die Vorhersage eines kategorialen Felds PlanType trainiert (mit vier möglichen Ergebnissen: „Blue Plan“, „Green Plan“, „Purple Plan“ und „Red Plan“). Basierend auf dem Eintrag mit der einen Konto-ID in der ersten Tabelle sieht der „SHAP koordinieren“-Datensatz für diesen Eintrag wie folgt aus:

Sample from coordinate SHAP dataset for multiclass classification model prediction
AccountIDautoml_featurePredicted_classSHAP_value
aa16889AdditionalFeatureSpendBlue Plan0.004155414339679
aa16889AdditionalFeatureSpendGreen Plan0.0066376343942741
aa16889AdditionalFeatureSpendPurple Plan-0.014411468558894
aa16889AdditionalFeatureSpendRed Plan0.003618419824941
aa16889BaseFeeBlue Plan0.089301017079318
aa16889BaseFeeGreen Plan0.28876498452748
aa16889BaseFeePurple Plan0.055689421438434
aa16889BaseFeeRed Plan-0.43375542304524
aa16889CurrentPeriodUsageBlue Plan-0.0040098954629816
aa16889CurrentPeriodUsageGreen Plan-0.27902537442842
aa16889CurrentPeriodUsagePurple Plan-0.21871561841248
aa16889CurrentPeriodUsageRed Plan0.50175088830388
aa16889HasRenewedBlue Plan-0.011878031228962
aa16889HasRenewedGreen Plan0.036835618725654
aa16889HasRenewedPurple Plan0.13798314881109
aa16889HasRenewedRed Plan-0.16294073630778
aa16889NumberOfPenaltiesBlue Plan0.20519095034486
aa16889NumberOfPenaltiesGreen Plan0.0015682625647107
aa16889NumberOfPenaltiesPurple Plan-0.084355421853302
aa16889NumberOfPenaltiesRed Plan-0.12240379105627

In der obigen Tabelle wird eine einzelne Konto-ID mit 20 getrennten Zeilen dargestellt: eine Zeile für jedes Feature, mit einer Zeile für den SHAP-Wert, der jedem möglichen Ergebnis im Ziel entspricht. Die Spalte Predicted_class stellt das vorherzusagende mögliche Ergebnis (Klasse) dar, nicht unbedingt das tatsächlich vorhergesagte Ergebnis, das im Vorhersagedatensatz angezeigt wird. Letztlich wird die Klasse mit dem höchsten SHAP-Wert zum vorhergesagten Wert für den Datensatzeintrag.

Die SHAP-Werte in dieser Tabelle sind Messungen des Einflusses, den das angegebene Feature (automl_feature) auf das Ergebnis hat, das möglicherweise die angegebene Klasse ist (Predicted_class). Ein hoher positiver Wert gibt an, dass das Feature einen starken Einfluss darauf hat, dass das vorhergesagte Ergebnis zur angegebenen Klasse wird, während ein hoher negativer Wert angibt, dass das Feature einen starken Einfluss darauf hat, dass das vorhergesagte Ergebnis nicht zur angegebenen Klasse wird.

Regressionsmodelle

In einem SHAP-Datensatz, der aus einem Regressionsmodell generiert wird, lässt sich die Richtung der SHAP-Werte einfacher interpretieren.

  • Ein positiver SHAP-Wert entspricht einer Erhöhung des vorhergesagten Werts für die Zeile.

  • Ein negativer SHAP-Wert entspricht einer Verringerung des vorhergesagten Werts für die Zeile.

Berechnung der SHAP-Werte

SHAP-Werte werden für eine Reihe von Algorithmen berechnet. SHAP Importance wird anhand zweier verschiedener Methoden berechnet:

  • Tree SHAP: Schnelle und genaue Methode zum Schätzen von SHAP-Werten für Baumstrukturmodelle

  • Linear SHAP: Eine Methode zum Berechnen von SHAP-Werten für lineare Modelle

Verfügbare Algorithmen nach Modelltypen und SHAP-Berechnungsmethode
AlgorithmusUnterstützte ModelltypenSHAP-Berechnungsmethode
Random Forest-Klassifikation Binärklassifikation, Mehrklassen-KlassifikationTree SHAP
XGBoost-KlassifikationBinärklassifikation, Mehrklassen-KlassifikationTree SHAP
LightGBM-KlassifikationBinärklassifikation, Mehrklassen-KlassifikationTree SHAP
CatBoost-KlassifikationBinärklassifikation, Mehrklassen-KlassifikationTree SHAP
Logistische RegressionBinärklassifikation, Mehrklassen-KlassifikationLinear SHAP
Lasso-RegressionBinärklassifikation, Mehrklassen-KlassifikationLinear SHAP
Elastic Net-RegressionBinärklassifikation, Mehrklassen-KlassifikationLinear SHAP
Gaußsches Naive BayesBinärklassifikation, Mehrklassen-KlassifikationSHAP nicht berechnet
CatBoost-RegressionRegressionTree SHAP
LightGBM-RegressionRegressionTree SHAP
Lineare RegressionRegressionLinear SHAP
Random Forest-RegressionRegressionTree SHAP
SGD-RegressionRegressionLinear SHAP
XGBoost-RegressionRegressionTree SHAP

Weitere Informationen

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!