Ga naar hoofdinhoud Ga naar aanvullende inhoud

SHAP-gegevensverzamelingen genereren tijdens voorspellingen

SHAP importance-gegevensverzamelingen kunnen worden gegenereerd als u een voorspelling uitvoert. U kunt de SHAP‑berekeningen in deze gegevensverzamelingen gebruiken om te begrijpen welke kenmerken de belangrijkste bijdragers zijn voor de voorspelde waarden.

SHAP‑gegevensverzamelingen bevatten de SHAP‑berekeningen op rijniveau voor de kenmerken die worden gebruikt om het model te trainen. Deze waarden vertegenwoordigen hoeveel elk kenmerk bijdraagt aan de voorspelde waarde van het doel ten opzichte van alle andere kenmerken op die rij.

De SHAP importance kan ons bijvoorbeeld vertellen of een kenmerk de kans vergroot of verkleint dat een klant vertrekt en hoe sterk dit kenmerk de uitkomst beïnvloedt.

Nadat u uw voorspelling hebt uitgevoerd en de gegevensverzamelingen hebt gegenereerd, kunt u de ‑waarden in een Qlik Sense-app laden en ze naast de voorspelde waarden visualiseren. Zie SHAP-waarden in Qlik Sense-apps visualiseren en SHAP-waarden gebruiken in echte applicaties voor meer details.

Dit Help-onderwerp gaat dieper in op het genereren van SHAP-gegevensverzamelingen tijdens voorspellingen van ML-implementaties. Voor informatie over SHAP importance-diagrammen die worden getoond tijdens de experimenttraining, raadpleegt u SHAP importance in experimenttrainingen.

Beschikbare opties voor het genereren van SHAP-gegevensverzamelingen

Bij het configureren van een voorspelling kunt u ervoor kiezen om SHAP-gegevensverzamelingen te genereren in twee verschillende indelingen. Beide opties geven dezelfde informatie, maar ze zijn op verschillende manieren opgebouwd.

SHAP

Dit is een gegevensverzameling waarin SHAP-waarden voor elk kenmerk in een kolom worden uitgesplitst. Deze optie is niet beschikbaar voor multiclass-classificatiemodellen.

Coördinaat SHAP

Dit is een gegevensverzameling waarin alle SHAP‑waarden alleen in twee kolommen worden opgenomen: een 'kenmerk'-kolom en een 'waarde'-kolom. Deze optie is beschikbaar voor alle modeltypes.

Gegevensverzamelingen van multiclass-modellen werken iets anders dan gegevensverzamelingen van binaire modellen. Voor elk record dat voorspeld moet worden, wordt een nieuwe rij gemaakt waarbij de SHAP-waarde voor elke mogelijke klasse beschikbaar is om door het model te worden voorspeld. In de gegevensverzameling wordt er ook een aanvullende kolom gemaakt om de klasse te identificeren die de SHAP-waarde vertegenwoordigt.

Als voorspellingen en SHAP-waarden in een Qlik Sense-app worden geladen en er een gegevensmodel wordt gemaakt, zijn coördinaat SHAP‑gegevensverzamelingen makkelijker om mee te werken dan SHAP-gegevensverzamelingen.

Voorbeelden

De volgende tabellen bevatten samples van SHAP en coördinaat SHAP-gegevensverzamelingen, die zijn gegenereerd op basis van een regressiemodel dat met vijf kenmerken is getraind. De samples bevatten SHAP-waarden voor twee records van de toe te passen gegevensverzameling (komt overeen met twee account-id's).

Deze voorbeelden markeren het verschil tussen de manier waarop de gegevens zijn opgebouwd.

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

SHAP‑voorspellingswaarden interpreteren

In tegenstelling tot de waarden in het SHAP importance-diagram dat wordt getoond tijdens de experimentraining, bevatten SHAP-gegevensverzamelingen SHAP-verzamelingen op rijniveau die directionaliteit hebben. In andere woorden: het zijn geen absolute waarden, maar de waarden kunnen positief of negatief zijn. Bij het visualiseren in een applicatie kunt u ervoor kiezen om ze als absolute waarden te aggregeren, afhankelijk van uw usecase.

De SHAP-waarde voor een record moet worden geanalyseerd met betrekking tot de overeenkomende voorspelde waarde voor dat record. Afhankelijk van het modeltype (binaire classificatie, multiclass-classificatie of regressie) moet de directionaliteit van de SHAP-waarden net iets anders worden geïnterpreteerd.

Classificatie-modellen

Bij binaire classificatiemodellen geven grote positieve SHAP-waarden een grotere invloed op een van de twee mogelijke uitkomsten aan, en hoge negatieve waarden geven een grotere invloed op de andere uitkomst aan. Als u deze gegevens in een applicatie gebruikt, staat de directionaliteit van de SHAP-waarden mogelijk de vereiste analyse niet toe. Om dit op te lossen, kunt u de richting van de SHAP-waarden omdraaien (bijvoorbeeld door de volledige kolom te vermenigvuldigen met -1). Ga voor meer informatie over de SHAP‑richtingscontrole naar Voorbereidingen.

Een SHAP-gegevensverzameling van een multiclassmodel is anders opgebouwd. Voor elk te voorspellen record bevat deze een afzonderlijke rij voor elke mogelijke klasse, samen met een overeenkomstige SHAP-waarde voor die klasse. De klasse wordt opgegeven in een 'Predicted_class' kolom.

In uw coördinaat SHAP-gegevensverzameling interpreteert u de SHAP-waarden van multiclassmodelvoorspellingen als volgt:

  • Een hoge positieve SHAP-waarde geeft aan dat het kenmerk een hogere invloed heeft dat het resultaat de opgegeven 'Predicted_class' is.

  • Een hoge negatieve SHAP-waarde geeft aan dat het kenmerk een hogere invloed heeft dat het resultaat niet de opgegeven 'Predicted_class' is.

Voorbeeld

Het volgende voorbeeld toont het verschil in de structuur van de gegevensverzameling tussen de uitvoer van binaire- en multiclass-classificatiemodellen.

Stel dat we starten met een toe te passen gegevensverzameling die één rij per account-id bevat. Elk kenmerk waarop het model is getraind, wordt als afzonderlijke kolom weergegeven.

Een enkel record van de account-id ziet er als volgt uit:

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

Als we een binair classificatiemodel trainen om het resultaat van een Churned-veld te voorspellen, zijn er twee mogelijke resultaten: 'ja' of 'nee'. Op basis van de bovenstaande enkele record van de account-id, ziet de coördinaat SHAP‑gegevensverzameling voor dit record er als volgt uit:

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 de bovenstaande tabel worden de SHAP-waarden voor een enkele account-id weergegeven en ze worden per kenmerk uitgesplitst. Er wordt voor elk kenmerk een nieuwe rij gemaakt en aan elk kenmerk wordt een SHAP-waarde toegewezen. De richting en magnitude van deze SHAP-waarden moeten worden gecontroleerd in relatie tot de twee mogelijke resultaten. Hoe hoger de SHAP-waarde, hoe meer invloed het kenmerk heeft op het resultaat met een positieve interpretatie (in dit geval 'ja'). Als deze representatie in plaats daarvan wordt omgedraaid, kunt u de richting van de SHAP-waarden omdraaien (door ze te vermenigvuldigen met -1) om de analyse gemakkelijker te kunnen interpreteren.

Ter vergelijking: stel dat we een multiclass-classificatiemodel trainen om een categorisch PlanType veld te voorspellen (met vier mogelijke resultaten - 'Blue Plan', 'Green Plan', 'Purple Plan' en 'Red Plan'). Op basis van het enkele record van de account-id in de eerst tabel ziet de coördinaat SHAP‑gegevensverzameling voor dit record er als volgt uit:

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 de bovenstaande tabel wordt een enkele account-id weergegeven met 20 afzonderlijke rijen: één rij voor elk kenmerk, met een rij voor de SHAP-waarde die overeenkomt met elk mogelijk resultaat in het doel. De Predicted_class kolom vertegenwoordigt het mogelijke resultaat (klasse) dat voorspeld moet worden, niet per se het werkelijke voorspelde resultaat dat in de voorspellingsgegevensset wordt weergegeven. Uiteindelijk wordt de klasse met de hoogste SHAP-waarde de voorspelde waarde voor het record.

De SHAP-waarden in deze tabel zijn metingen van de invloed dat het opgegeven kenmerk (automl_feature) heeft op het resultaat dat mogelijk de opgegeven klasse (Predicted_class) is. Een grote positieve waarde geeft aan dat het kenmerk een sterke invloed heeft op het voorspelde resultaat dat de opgegeven klasse moet zijn, terwijl een grote negatieve waarde aangeeft dat het kenmerk een sterke invloed heeft dat het voorspelde resultaat niet de opgegeven klasse is.

Regressiemodellen

In een SHAP‑gegevensverzameling die is gegenereerd op basis van een regressiemodel, kan de richting van de SHAP-waarden beter worden geïnterpreteerd.

  • Een positieve SHAP-waarde komt overeen met een verhoging van de voorspelde waarde voor de rij.

  • Een negatieve SHAP-waarde komt overeen met een vermindering van de voorspelde waarde voor de rij.

Berekening van SHAP-waarden

SHAP-waarden worden berekend voor verschillende algoritmen. SHAP importance wordt berekend met twee verschillende methoden:

  • SHAP-structuur: een snelle en precieze methode om SHAP-waarden te schatten voor structuurmodellen

  • Lineaire SHAP: een methode om SHAP-waarden te berekenen voor lineaire modellen

Beschikbare algoritmen op modeltype en SHAP-berekenmethode
AlgoritmeOndersteunde modeltypenSHAP-berekenmethode
Random Forest-classificatie Binaire classificatie, multiclass-classificatieSHAP-structuur
XGBoost-classificatieBinaire classificatie, multiclass-classificatieSHAP-structuur
LightGBM-classificatieBinaire classificatie, multiclass-classificatieSHAP-structuur
Catboost-classificatieBinaire classificatie, multiclass-classificatieSHAP-structuur
Logistische regressieBinaire classificatie, multiclass-classificatieLineaire SHAP
Lasso-regressieBinaire classificatie, multiclass-classificatieLineaire SHAP
Elastic Net-regressieBinaire classificatie, multiclass-classificatieLineaire SHAP
Gaussian Naive BayesBinaire classificatie, multiclass-classificatieSHAP niet berekend
Catboost-regressieRegressieSHAP-structuur
LightGBM-regressieRegressieSHAP-structuur
Lineaire regressieRegressieLineaire SHAP
Random Forest-regressieRegressieSHAP-structuur
SGD-regressieRegressieLineaire SHAP
XGBoost-regressieRegressieSHAP-structuur

Meer informatie

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!