Classificazione binaria
Annotazioni
Per altri dettagli, vedi la scheda Testo e immagini .
La classificazione, come la regressione, è una tecnica di Machine Learning con supervisione ; e quindi segue lo stesso processo iterativo di training, convalida e valutazione dei modelli. Anziché calcolare valori numerici come un modello di regressione, gli algoritmi usati per eseguire il training dei modelli di classificazione calcolano i valori di probabilità per l'assegnazione della classe e le metriche di valutazione usate per valutare le prestazioni del modello confrontano le classi stimate con le classi effettive.
Gli algoritmi di classificazione binaria vengono usati per eseguire il training di un modello che stima una delle due etichette possibili per una singola classe. Essenzialmente, prevedere vero o falso. Nella maggior parte degli scenari reali, le osservazioni sui dati usate per eseguire il training e la convalida del modello sono costituiti da più valori di funzionalità (x) e da un valore y pari a 1 o 0.
Esempio - Classificazione binaria
Per comprendere il funzionamento della classificazione binaria, si esaminerà un esempio semplificato che usa una singola funzionalità (x) per stimare se l'etichetta y è 1 o 0. In questo esempio si userà il livello di glucosio del sangue di un paziente per stimare se il paziente ha o meno il diabete. Ecco i dati con cui verrà eseguito il training del modello:
|
|
|---|---|
| Glucosio nel sangue (x) | Diabetico? (y) |
| 67 | 0 |
| 103 | 1 |
| 114 | 1 |
| 72 | 0 |
| 116 | 1 |
| 65 | 0 |
Training di un modello di classificazione binaria
Per eseguire il training del modello, si userà un algoritmo per adattare i dati di training a una funzione che calcola la probabilità che l'etichetta di classe sia vera (in altre parole, che il paziente ha il diabete). La probabilità viene misurata come valore compreso tra 0,0 e 1,0, in modo che la probabilità totale per tutte le classi possibili sia 1,0. Quindi, ad esempio, se la probabilità di un paziente con diabete è 0,7, c'è una probabilità corrispondente di 0,3 che il paziente non è diabetico.
Esistono molti algoritmi che possono essere usati per la classificazione binaria, ad esempio la regressione logistica, che deriva una funzione sigmoid (a forma S) con valori compresi tra 0,0 e 1,0, come indicato di seguito:
Annotazioni
Nonostante il nome, nella regressione logistica di Machine Learning viene usata per la classificazione, non per la regressione. Il punto importante è la natura logistica della funzione che produce, che descrive una curva a forma di S tra un valore inferiore e superiore (0,0 e 1,0 quando usato per la classificazione binaria).
La funzione prodotta dall'algoritmo descrive la probabilità che y sia true (y=1) per un determinato valore x. Matematicamente, è possibile esprimere la funzione come segue:
f(x) = P(y=1 | x)
Per tre delle sei osservazioni nei dati di training, sappiamo che y è sicuramente true, quindi la probabilità per quelle osservazioni che y= 1 è 1,0 e per le altre tre, sappiamo che y è sicuramente false, quindi la probabilità che y=1 sia 0,0. La curva a forma di S descrive la distribuzione delle probabilità in modo che il tracciato di un valore x sulla linea identifichi la probabilità corrispondente che y sia 1.
Il diagramma include anche una linea orizzontale per indicare la soglia in cui un modello basato su questa funzione stima true (1) o false (0). La soglia si trova a metà punto per y (P(y) = 0,5. Per qualsiasi valore a questo punto o superiore, il modello stima true (1); mentre per qualsiasi valore inferiore a questo punto verrà stimato false (0). Ad esempio, per un paziente con un livello di glucosio nel sangue pari a 90, la funzione genererebbe un valore di probabilità pari a 0,9. Poiché 0,9 è superiore alla soglia di 0,5, il modello stima true (1), in altre parole, il paziente dovrebbe avere il diabete.
Valutazione di un modello di classificazione binaria
Come per la regressione, quando si esegue il training di un modello di classificazione binaria si mantiene un subset casuale di dati con cui convalidare il modello sottoposto a training. Si supponga di aver mantenuto i dati seguenti per convalidare il classificatore di diabete:
| Glucosio nel sangue (x) | Diabetico? (y) |
|---|---|
| 66 | 0 |
| 107 | 1 |
| 112 | 1 |
| 71 | 0 |
| 87 | 1 |
| 89 | 1 |
L'applicazione della funzione logistica derivata in precedenza ai valori x restituisce il tracciato seguente.
In base al fatto che la probabilità calcolata dalla funzione sia superiore o inferiore alla soglia, il modello genera un'etichetta stimata pari a 1 o 0 per ogni osservazione. È quindi possibile confrontare le etichette di classe stimate (ŷ) con le etichette di classe effettive (y), come illustrato di seguito:
| Glucosio nel sangue (x) | Diagnosi effettiva del diabete (y) | Diagnosi prevista di diabete (ŷ) |
|---|---|---|
| 66 | 0 | 0 |
| 107 | 1 | 1 |
| 112 | 1 | 1 |
| 71 | 0 | 0 |
| 87 | 1 | 0 |
| 89 | 1 | 1 |
Metriche di valutazione della classificazione binaria
Il primo passaggio nel calcolo delle metriche di valutazione per un modello di classificazione binaria consiste in genere nel creare una matrice del numero di stime corrette e non corrette per ogni etichetta di classe possibile:
Questa visualizzazione è denominata matrice di confusione e mostra i totali delle stime in cui:
- ŷ=0 e y=0: veri negativi (TN)
- ŷ=1 e y=0: Falsi positivi (FP)
- ŷ=0 e y=1: Falsi negativi (FN)
- ŷ=1 e y=1: veri positivi (TP)
La disposizione della matrice di confusione è tale che le stime corrette (true) siano visualizzate in una linea diagonale dall'alto a sinistra in basso a destra. Spesso, l'intensità del colore viene usata per indicare il numero di stime in ogni cella, quindi una rapida occhiata a un modello che stima bene dovrebbe rivelare una tendenza diagonale profondamente ombreggiata.
Accuratezza
La metrica più semplice che è possibile calcolare dalla matrice di confusione è l'accuratezza , ovvero la percentuale di stime corrette dal modello. L'accuratezza viene calcolata come segue:
(TN+TP) ÷ (TN+FN+FP+TP)
Nel caso del nostro esempio di diabete, il calcolo è:
(2+3) ÷ (2+1+0+3)
= 5 ÷ 6
= 0.83
Pertanto, per i dati di convalida, il modello di classificazione del diabete ha prodotto stime corrette nell’83% dei casi.
L'accuratezza potrebbe inizialmente sembrare una buona metrica per valutare un modello, ma considerare questo aspetto. Si supponga che 11% della popolazione abbia il diabete. È possibile creare un modello che stima sempre 0 e ottenere un'accuratezza di 89%, anche se non tenta di distinguere i pazienti valutando le loro caratteristiche. Ciò di cui abbiamo realmente bisogno è una comprensione più approfondita del modo in cui il modello esegue per stimare 1 per i casi positivi e 0 per i casi negativi.
Richiamo
Il richiamo è una metrica che misura la percentuale di casi positivi identificati correttamente dal modello. In altre parole, rispetto al numero di pazienti che hanno il diabete, quanti il modello ha previsto di avere il diabete?
La formula per il richiamo è:
TP ÷ (TP+FN)
Per il nostro esempio di diabete:
3 ÷ (3+1)
= 3 ÷ 4
= 0.75
Il modello quindi ha identificato correttamente il 75% dei pazienti affetti da diabete.
Precisione
La precisione è una metrica simile a quella del richiamo, ma misura la percentuale di casi positivi stimati in cui l'etichetta vera è effettivamente positiva. In altre parole, quale percentuale dei pazienti stimati dal modello ha effettivamente il diabete?
La formula per la precisione è:
TP ÷ (TP+FP)
Per il nostro esempio di diabete:
3 ÷ (3+0)
= 3 ÷ 3
= 1.0
Quindi 100% dei pazienti stimati dal nostro modello per avere il diabete hanno effettivamente il diabete.
F1-score
F1-score è una metrica complessiva che combina il richiamo e la precisione. La formula per F1-score è:
(2 x Precisione x Richiamo) ÷ (Precisione + Richiamo)
Per il nostro esempio di diabete:
(2 x 1,0 x 0,75) ÷ (1,0 + 0,75)
= 1,5 ÷ 1,75
= 0,86
Area sottesa alla curva (AUC)
Un altro nome per il richiamo è il tasso di vero positivo (TPR), e c'è una metrica equivalente denominata il tasso di falso positivo (FPR), che viene calcolata come FP÷(FP+TN). È già noto che il TPR per il modello quando si usa una soglia pari a 0,5 è 0,75 ed è possibile usare la formula per FPR per calcolare il valore 0÷2 = 0.
Naturalmente, se fosse necessario modificare la soglia superiore alla quale il modello stima true (1), influirebbe sul numero di stime positive e negative; e quindi modificare le metriche TPR e FPR. Queste metriche vengono spesso usate per valutare un modello tracciando una curva ROC ( Received Operator Characteristic ) che confronta TPR e FPR per ogni valore soglia possibile compreso tra 0,0 e 1,0:
La curva ROC per un modello perfetto andrebbe dritta verso l'alto sull'asse TPR a sinistra e quindi attraverso l'asse FPR in alto. Poiché l'area del tracciato per la curva misura 1x1, l'area sotto questa curva perfetta sarebbe 1,0 (vale a dire che il modello è corretto 100% del tempo). Al contrario, una linea diagonale dal basso a sinistra verso l'alto a destra rappresenta i risultati ottenuti indovinando casualmente un'etichetta binaria; producendo un'area sotto la curva di 0,5. In altre parole, date due possibili etichette di classe, ci si può ragionevolmente aspettare di indovinare il 50% delle volte.
Nel caso del modello di diabete, viene prodotta la curva precedente e l'area sotto la curva (AUC) è 0,875. Poiché l'AUC è superiore a 0,5, è possibile concludere che il modello offre prestazioni migliori per stimare se un paziente ha il diabete o meno rispetto all'ipotesi casuale.