Scienza dei dati grafici per dati tabulari |  di Andrew Skabar, Ph.D. |  Novembre 2023

 | Intelligenza-Artificiale

I metodi grafici sono più generali di quanto si possa pensare

fotografato da Alina Grubnjak SU Unsplash

I metodi di data science basati su grafici vengono solitamente applicati a dati che hanno una natura grafica intrinseca, ad esempio dati sulla struttura molecolare, dati di rete di trasporto, ecc. Tuttavia, i metodi grafici possono essere utili anche su dati che non mostrano alcuna struttura grafica evidente, come set di dati tabulari utilizzati nelle attività di machine learning. In questo articolo dimostrerò in modo semplice e intuitivo, senza alcuna matematica o teoria, che rappresentando i dati tabulari come un grafico possiamo aprire nuove possibilità su come eseguire inferenze su questi dati.

Per semplificare le cose, utilizzerò come esempio il set di dati di approvazione del credito riportato di seguito. L’obiettivo è prevedere il valore di Approvazione in base ai valori di uno o più altri attributi. Esistono molti algoritmi di classificazione che possono essere utilizzati a questo scopo, ma esploriamo come potremmo affrontarlo utilizzando i grafici.

Set di dati sull’approvazione del credito, creato dall’autore

Rappresentazione grafica

La prima cosa da considerare è come rappresentare i dati come un grafico. Vorremmo catturare l’intuizione che maggiore è il numero di valori di attributo condivisi tra due istanze, più simili saranno quelle istanze. Utilizzeremo un nodo per rappresentare ciascuna istanza (ci riferiremo a questi nodi come nodi di istanza) e un nodo per ogni possibile valore di attributo (questi sono nodi del valore dell’attributo). Le connessioni tra i nodi istanza e i nodi valore attributo sono bidirezionali e riflettono le informazioni nella tabella. Per mantenere le cose Veramente semplice, ometteremo gli attributi Occupazione e Storia. Ecco il grafico.

Rappresentazione grafica del set di dati di approvazione del credito. Immagine dell’autore.

Passaggio del messaggio

Dati i valori degli attributi per alcune nuove istanze, esistono diversi modi in cui potremmo utilizzare metodi grafici per prevedere alcuni valori degli attributi sconosciuti. Utilizzeremo la nozione di passaggio del messaggio. Ecco la procedura che utilizzeremo.

Procedura di passaggio dei messaggi

Avvia un messaggio con valore 1 nel nodo iniziale e lascia che questo nodo passi il messaggio a ciascun nodo a cui è connesso. Lascia che qualsiasi nodo che riceve un messaggio trasmetta il messaggio (dilatato di un fattore Kdove 0K<1) a ciascun altro nodo a cui è connesso. Continua il passaggio del messaggio finché non viene raggiunto un nodo di destinazione (cioè un nodo corrispondente all'attributo il cui valore viene previsto) o non ci sono ulteriori nodi a cui passare il messaggio. Poiché un messaggio non può essere ritrasmesso al nodo da cui è stato ricevuto, è garantito che il processo termini.

Una volta completato lo scambio dei messaggi, ciascun nodo nel grafico avrà ricevuto zero o più messaggi di valore variabile. Somma questi valori per ciascun nodo appartenente all’attributo target, quindi normalizza questi valori (somma) in modo che essi stessi sommino a 1. Interpreta i valori normalizzati come probabilità. Queste probabilità possono quindi essere utilizzate per prevedere il valore dell’attributo sconosciuto o per attribuire un valore casuale estratto dalla distribuzione. La dilatazione dei valori dei messaggi ad ogni passaggio riflette l’intuizione che i percorsi più lunghi dovrebbero contribuire meno alla stima della probabilità rispetto ai percorsi più brevi.

Esempio 1

Supponiamo di voler prevedere il valore dell’Approvazione dato che il reddito è basso. Le frecce nel grafico sottostante illustrano il funzionamento della procedura di passaggio dei messaggi, con lo spessore di ciascuna freccia che rappresenta il valore del messaggio (dilatato del fattore K = 0,5 ad ogni salto).

La stima della distribuzione del reddito dato dall’approvazione è bassa. Immagine dell’autore.

Il messaggio viene avviato nel nodo Reddito: Basso (colorato in verde). Questo nodo passa messaggi di valore 1 sia all’istanza 1 che all’istanza 2, che poi passano ciascuna il messaggio (con un valore dilatato di 0,5) ai nodi Istruzione:College e Approvazione:No. Tieni presente che, poiché Education:College riceve messaggi sia dall’istanza 1 che dall’istanza 2, deve passare ogni di questi messaggi all’istanza 3, con un valore dilatato di 0,25. I numeri su ciascun nodo della variabile di destinazione mostrano la somma dei valori dei messaggi ricevuti e (tra parentesi) i valori normalizzati come percentuali. Abbiamo le seguenti probabilità di approvazione, a condizione che il reddito sia basso:

  • Prob (l’approvazione è “Sì” | il reddito è basso) = 20%
  • Probabile (l’approvazione è “No” | Il reddito è basso) = 80%

Queste probabilità sono diverse da quelle che avremmo ottenuto da una previsione basata sul conteggio dalla tabella. Poiché due dei cinque casi hanno un reddito basso ed entrambi hanno l’approvazione n., una previsione basata sul conteggio porterebbe a una probabilità del 100% per l’approvazione n.

La procedura di passaggio dei messaggi ha tenuto conto che il valore dell’attributo Education College, posseduto dalle Istanze 1 e 2, è posseduto anche dall’Istanza 3, che ha Approval Yes, contribuendo così al valore totale del messaggio ricevuto al nodo Approval:Yes. Se avessimo incorporato gli attributi aggiuntivi Occupazione e Storia nel nostro grafico, ciò avrebbe probabilmente aumentato ulteriormente il numero di percorsi che collegano il nodo iniziale ai nodi target, utilizzando quindi informazioni contestuali aggiuntive e migliorando la stima della distribuzione di probabilità.

Esempio 2

La procedura di passaggio dei messaggi può essere utilizzata anche quando si condiziona su più di un attributo. In tal caso, avviamo semplicemente un messaggio su ciascuno dei nodi corrispondenti ai valori degli attributi su cui stiamo condizionando e seguiamo la stessa procedura da ciascuno. Il grafico seguente mostra il risultato della previsione del valore dell’Approvazione dato che il reddito è basso e l’istruzione è laureata. La sequenza di messaggi provenienti da ciascun nodo iniziale viene mostrata in diversi colori.

Stima della distribuzione dell’approvazione data il reddito è basso e l’istruzione è laureata. Immagine dell’autore.

L’istanza 4 ha valore Istruzione Laureato e pertanto contribuisce alla somma dei valori dei messaggi ricevuti nel nodo Approvazione:Sì. Un ulteriore contributo all’Approvazione: Sì viene fornito dall’Istanza 5, che condivide Reddito alto con l’Istanza 4.

(Nota: in ciascuno di questi esempi abbiamo utilizzato l’Approvazione come variabile obiettivo; tuttavia, avremmo potuto stimare le distribuzioni di probabilità per Reddito o Istruzione esattamente nello stesso modo).

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *