XGboost - Scelta fatta dal modello


10

sto usando XGboost per prevedere una variabile target di 2 classi sui crediti assicurativi. Ho un modello (allenamento con validazione incrociata, ottimizzazione dei parametri ipertestuali ecc ...) che eseguo su un altro set di dati.

La mia domanda è :

c'è un modo per sapere perché un dato reclamo è stato influenzato da una classe, ovvero le caratteristiche che spiegano la scelta fatta dal modello?

Lo scopo è quello di poter giustificare la scelta fatta dalla macchina a soggetti terzi.

Grazie per la tua risposta.

Risposte:


7

Ti consiglio di scegliere Shap . Utilizza i valori di Shapley (concetto preso in prestito dalla Teoria dei giochi) per descrivere il comportamento del modello e con ciò può spiegare una singola previsione.

La sua interfaccia grafica utilizza i grafici della forza, come quello che vedi sotto. inserisci qui la descrizione dell'immagine

La barra rossa è costruita dalle caratteristiche che portano la previsione a valori positivi e il blu dagli altri.

Nel tuo caso (un classificatore) il numero in grassetto sarà quello appena prima della funzione sigmoid che limiterà il valore di uscita tra zero e uno (una classe o l'altra). Quindi non aver paura se in alcuni casi sarà maggiore di uno o negativo.

La dimensione dei segmenti rappresenta quanto questa funzionalità contribuisce alla previsione e sotto i segmenti viene visualizzato il nome della funzione (es. LSTAT) e il suo valore effettivo (es. 4.98). Quindi, in questo caso, LSTAT è la caratteristica media che porta la previsione per quell'elemento del set di dati al valore di 24,41 (il numero in grassetto).

Godere!


9

È possibile utilizzare la libreria ELI5 per spiegare i contributi delle funzionalità alle singole previsioni per i modelli XGBoost.

Vedi Spiegazione delle previsioni nei documenti, copiati di seguito:

Per avere un'idea migliore di come funziona il nostro classificatore, esaminiamo le singole previsioni con eli5.show_prediction():

from eli5 import show_prediction
show_prediction(clf, valid_xs[1], vec=vec, show_feature_values=True)

inserisci qui la descrizione dell'immagine


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.