Vai al contenuto principale Passa a contenuto complementare

Generazione di set di dati SHAP durante le previsioni

I set di dati sull'importanza SHAP possono essere generati quando si esegue una previsione. È possibile utilizzare i calcoli SHAP in questi set di dati per comprendere quali funzioni sono i contributori più importanti per i valori previsti.

I set di dati SHAP contengono i calcoli SHAP a livello di riga per le funzioni utilizzate per addestrare il modello. Questi valori rappresentano il contributo di ciascuna funzione al valore previsto della destinazione, date tutte le altre funzioni di quella riga.

Ad esempio, l'importanza SHAP può indicare se una funzione rende un cliente più o meno propenso alla disdetta e quanto influisce su questo risultato.

Quando si esegue la previsione e si generano i set di dati, è possibile caricare i valori SHAP in un'app Qlik Sense e visualizzarle insieme ai valori previsti. Per ulteriori dettagli, vedere Visualizzazione dei valori SHAP nelle app Qlik Sense e Utilizzo dei valori SHAP nelle applicazioni reali

In questa sezione della guida descrive nel dettaglio il processo di generazione dei set di dati SHAP durante le previsioni tramite distribuzioni di ML. Per informazioni sui grafici dell'importanza SHAP mostrati durante l'addestramento dell'esperimento, vedere Importanza SHAP nell'addestramento dell'esperimento.

Opzioni disponibili per la generazione dei set di dati SHAP

Quando si configura una previsione, è possibile scegliere di generare i set di dati SHAP con due formati differenti. Entrambe le opzioni forniscono le stesse informazioni, ma queste sono strutturate in modi differenti.

SHAP

Un set di dati in cui i valori SHAP sono separati in una colonna per ogni funzione. Questa opzione non è disponibile per i modelli di classificazione multiclasse.

Coordinata SHAP

Un set di dati in cui tutti i valori SHAP sono strutturati in modo da essere contenuti solo in due colonne: una colonna per le 'funzioni' e una per i 'valori'. Questa opzione è disponibile per tutti i tipi di modelli.

I set di dati dai modelli multiclasse funzionano in modo leggermente differente in confronto ai set di dati dai modelli binari. Per ogni record per cui si desidera generare nella previsione, viene creata una nuova riga con i valori SHAP per ogni classe possibile disponibile per la previsione da parte del modello. Nel set di dati viene creata anche un'altra colonna per identificare la classe rappresentata dal valore SHAP.

Quando si caricano previsioni e valori SHAP in un'app Qlik Sense e si crea un modello dati, i set di dati della coordinata SHAP possono essere più facili da utilizzare dei set di dati SHAP.

Esempi

Le seguenti tabelle contengono esempi dai set di dati SHAP e della coordinata SHAP, generati da un modello di regressione addestrato con cinque funzioni. Gli esempi contengono valori SHAP per due record dal Set di dati di applicazione (corrispondente a due ID account).

Questi esempi evidenziano la differenza su come sono strutturati i dati.

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

Interpretazione dei valori di previsione SHAP

A differenza dei valori nel grafico Importanza SHAP mostrati durante l'addestramento dell'esperimento, i set di dati SHAP contengono i calcoli SHAP a livella di riga che dispongono di direzionalità. In altre parole, non si tratta di valori assoluti, ma possono invece essere positivi o negativi. Quando si visualizzano i valori in un'applicazione, è possibile scegliere di aggregarli come valori assoluti, a seconda del caso di utilizzo.

Il valore SHAP per un record deve essere analizzato rispetto al valore previsto corrispondente per quel record. A seconda del tipo di modello (classificazione binaria, classificazione multiclasse o regressione), la direzionalità dei valori SHAP deve essere interpretata in modo leggermente differente.

Modelli di classificazione

Con i modelli di classificazione binaria, i valori SHAP positivi elevati indicano un'influenza maggiore verso uno di due possibili risultati, mentre i valori altamente negativi indicano una maggiore influenza verso l'altro risultato. Quando si utilizzano i dati in un'applicazione, la direzionalità dei valori SHAP potrebbe non consentire l'analisi richiesta. Per risolvere questo problema, è possibile invertire la direzione dei valori SHAP (per esempio, moltiplicare l'intera colonna per -1). Per maggiori informazioni sul controllo della direzione SHAP, vedere Preparazioni.

Un set di dati SHAP da un modello multiclasse è strutturato in modo differente. Per ogni record da prevedere, include una riga separata per ogni classe possibile, oltre al valore SHAP corrispondente per quella classe. La classe viene specificata nella colonna 'Predicted_class'.

Nel set di dati della coordinata SHAP, interpretare i valori SHAP dalle previsioni del modello multiclasse come segue:

  • Un valore SHAP positivo elevato indica che la funzione ha una maggiore influenza verso il risultato che è la categoria 'Predicted_class' specificata.

  • Un valore SHAP negativo elevato indica che la funzione ha una maggiore influenza verso il risultato che non corrisponde alla categoria 'Predicted_class' specificata.

Esempio

Il seguente esempio mostra la differenza nella struttura del set di dati tra l'output di un modello di classificazione binario e di uno multiclasse.

Supponiamo di iniziare con un Set di dati di applicazione che contiene una riga per ogni ID account. Ogni funzione utilizzata per l'addestramento del modello viene rappresentata come una colonna separata.

Ecco come apparirà il record di un singolo ID account:

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

Se addestriamo un modello di classificazione binaria in modo che preveda il risultato di un campo Churned, saranno possibili sono due risultati: 'sì' o 'no'. In base al record di un singolo ID account riportato sopra, così è come apparirà il set di dati della coordinata SHAP per quel record:

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

Nella tabella riportata sopra, vengono visualizzati i valori SHAP per l'ID del singolo account, che vengono analizzati in base alla funzione. Viene creata una nuova riga per ogni funzione, e a ognuna di queste viene assegnato un valore SHAP. La direzione e la magnitudine di questi valori SHAP deve essere valutata in relazione a due possibili risultati. Idealmente, quanto maggiore è il valore SHAP, tanto maggiore sarà l'influenza che la funzione ha sul risultato con un'interpretazione positiva (in questo caso, 'sì'). Se questa rappresentazione invece è inversa, è possibile invertire la direzione dei valori SHAP (ossia moltiplicarli per -1) per rendere l'analisi più facile da interpretare.

Per il confronto, supponiamo di addestrare un modello di classificazione multiclasse in modo che preveda un campo PlanType categorico (con quattro possibili risultati: 'Blue Plan', 'Green Plan', 'Purple Plan' e 'Red Plan'). In base al record di un singolo ID account riportato nella prima tabella, così è come apparirà il set di dati della coordinata SHAP per quel record:

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

Nella tabella riportata sopra, l'ID di un singolo account viene rappresentato con 20 righe separate: una riga per ogni funzione, con una riga per il valore SHAP corrispondente a ogni possibile risultato nella destinazione. La colonna Predicted_class rappresenta il risultato possibile (classe) da prevedere, non necessariamente il risultato previsto effettivo visualizzato nel set di dati di previsione. In ultima analisi, la classe con il valore SHAP maggiore diventa il valore previsto per il record.

I valori SHAP in questa tabella misurano l'influenza che la funzione specificata (automl_feature) ha sull'obiettivo che può essere la classe specificata (Predicted_class). Un valore positivo elevato indica che la funzione influisce fortemente sul risultato previsto in modo che appartenga classe specificata, mentre un valore negativo elevato indica che la funzione influisce fortemente sul risultato previsto affinché non sia della classe specificata.

Modelli di regressione

In un set di dati SHAP generato da un modello di regressione, la direzione dei valori SHAP è molto più facile da interpretare.

  • Un valore SHAP positivo corrisponde a un aumento del valore previsto per la riga.

  • Un valore SHAP negativo corrisponde a una diminuzione del valore previsto per la riga.

Calcolo di valori SHAP

I valori SHAP vengono calcolati per una vasta serie di algoritmi. L'importanza SHAP è calcolata con due metodi distinti:

  • Tree SHAP: un metodo veloce e preciso per stimare i valori SHAP per i modelli ad albero.

  • Linear SHAP: un metodo per calcolare i valori SHAP per i modelli lineari.

Algoritmi disponibili per tipi di modello e metodo di calcolo SHAP
AlgoritmoTipi di modelli supportatiMetodo di calcolo SHAP
Classificazione Random Forest Classificazione binaria, classificazione multiclasseTree SHAP
Classificazione XGBoostClassificazione binaria, classificazione multiclasseTree SHAP
Classificazione LightGBMClassificazione binaria, classificazione multiclasseTree SHAP
Classificazione CatBoostClassificazione binaria, classificazione multiclasseTree SHAP
Regressione logisticaClassificazione binaria, classificazione multiclasseLinear SHAP
Regressione LASSOClassificazione binaria, classificazione multiclasseLinear SHAP
Regressione Elastic NetClassificazione binaria, classificazione multiclasseLinear SHAP
Bayesiano ingenuo gaussianoClassificazione binaria, classificazione multiclasseSHAP non calcolato
Regressione CatBoostRegressioneTree SHAP
Regressione LightGBMRegressioneTree SHAP
Regressione lineareRegressioneLinear SHAP
Regressione Random ForestRegressioneTree SHAP
Regressione SGDRegressioneLinear SHAP
Regressione XGBoostRegressioneTree SHAP

Ulteriori informazioni

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!