Classificazione: ROC e AUC

La sezione precedente presentava un insieme di metriche del modello, tutte calcolate con un singolo valore di soglia di classificazione. Tuttavia, se vuoi valutare la qualità di un modello in tutte le possibili soglie, hai bisogno di strumenti diversi.

Curva della caratteristica operativa del ricevitore (ROC)

La curva ROC è una rappresentazione visiva del rendimento del modello in tutte le soglie. La versione lunga del nome, caratteristica operativa del ricevitore, è un retaggio del rilevamento radar della seconda guerra mondiale.

La curva ROC viene tracciata calcolando la percentuale di veri positivi (TPR) e la percentuale di falsi positivi (FPR) a ogni soglia possibile (in pratica, a intervalli selezionati), quindi tracciando la TPR rispetto alla FPR. Un modello perfetto, che a una determinata soglia ha un TPR di 1,0 e un FPR di 0,0, può essere rappresentato da un punto in (0, 1) se tutte le altre soglie vengono ignorate oppure da quanto segue:

Figura 1. Un grafico del TPR (asse Y) rispetto al FPR (asse X) che mostra il
            rendimento di un modello perfetto: una linea da (0,1) a (1,1).
Figura 1. ROC e AUC di un modello perfetto ipotetico.

Area sotto la curva (AUC)

L'area sotto la curva ROC (AUC) rappresenta la probabilità che il modello, se fornito un esempio positivo e negativo scelto a caso, classifichi l'esempio positivo più alto dell'esempio negativo.

Il modello perfetto sopra, contenente un quadrato con lati di lunghezza 1, ha un'area sotto la curva (AUC) pari a 1,0. Ciò significa che esiste una probabilità del 100% che il modello classifichi correttamente un esempio positivo scelto a caso più in alto di un esempio negativo scelto a caso. In altre parole, osservando la dispersione dei punti dati di seguito, il valore AUC indica la probabilità che il modello inserisca un quadrato scelto in modo casuale a destra di un cerchio scelto in modo casuale, indipendentemente da dove è impostata la soglia.

Linea di dati del widget senza dispositivo di scorrimento

In termini più concreti, un classificatore di spam con un AUC di 1,0 assegna sempre a un'email di spam casuale una probabilità più alta di essere spam rispetto a un'email legittima casuale. La classificazione effettiva di ogni email dipende dalla soglia scelta.

Per un classificatore binario, un modello che ha lo stesso rendimento delle supposizioni casuali o del lancio di una moneta ha un ROC che è una linea diagonale da (0,0) a (1,1). L'AUC è equale a 0,5, il che rappresenta una probabilità del 50% di classificare correttamente un esempio positivo e uno negativo casuali.

Nell'esempio del classificatore dello spam, un classificatore dello spam con un AUC pari a 0,5 assegna a un'email di spam casuale una probabilità maggiore di essere spam rispetto a un'email legittima casuale solo la metà delle volte.

Figura 2. Un grafico della TPR (asse y) rispetto alla FPR (asse x) che mostra il
            rendimento di un indovino casuale con una probabilità del 50%: una linea diagonale da (0,0)
            a (1,1).
Figura 2. ROC e AUC di supposizioni completamente casuali.

(Facoltativo, avanzato) Curva di precisione-richiamo

AUC e ROC sono utili per confrontare i modelli quando il set di dati è approssimativamente bilanciato tra le classi. Quando il set di dati è sbilanciato, le curve di precisione-richiamo (PRC) e l'area sotto queste curve possono offrire una migliore visualizzazione comparativa del rendimento del modello. Le curve di precisione-richiamo vengono create rappresentando la precisione sull'asse Y e il richiamo sull'asse X per tutte le soglie.

Esempio di curva di precisione-richiamo con curva convessa verso il basso da (0,1)
            a (1,0)

AUC e ROC per la scelta del modello e della soglia

L'AUC è una misura utile per confrontare il rendimento di due modelli diversi, purché il set di dati sia approssimativamente bilanciato. In genere, il modello con l'area maggiore sotto la curva è quello migliore.

Figura 3a. Grafico ROC/AUC di un modello con AUC=0,65. Figura 3b. Grafico ROC/AUC di un modello con AUC=0,93.
Figura 3. ROC e AUC di due modelli ipotetici. La curva a destra, con un AUC maggiore, rappresenta il migliore dei due modelli.

I punti di una curva ROC più vicini a (0,1) rappresentano un intervallo di soglie con il rendimento migliore per il modello in questione. Come discusso nelle sezioni Soglie, Matrice di confusione e Scelta della metrica e compromessi, la soglia scelta dipende dalla metrica più importante per il caso d'uso specifico. Considera i punti A, B e C nel seguente diagramma, ciascuno dei quali rappresenta una soglia:

Figura 4. Una curva ROC con AUC=0,84 che mostra tre punti sulla parte convessa della curva più vicina a (0,1) etichettati in ordine A, B, C.
Figura 4. Tre punti etichettati che rappresentano le soglie.

Se i falsi positivi (falsi allarmi) sono molto costosi, potrebbe essere opportuno scegliere una soglia che fornisca un FPR inferiore, come quella nel punto A, anche se il TPR è ridotto. Al contrario, se i falsi positivi sono economici e i falsi negativi (veri positivi mancati) molto costosi, potrebbe essere preferibile la soglia per il punto C, che massimizza il TPR. Se i costi sono approssimativamente equivalenti, il punto B potrebbe offrire il miglior equilibrio tra TPR e FPR.

Ecco la curva ROC per i dati che abbiamo visto in precedenza:

Esercizio: verifica di aver compreso

In pratica, le curve ROC sono molto meno regolari rispetto alle illustrazioni riportate sopra. Quale dei seguenti modelli, rappresentato dalla curva ROC e dall'AUC, ha il rendimento migliore?
Curva ROC che si curva verso l'alto e poi verso destra da (0,0) a
           (1,1). La curva ha un AUC pari a 0,77.
Questo modello ha l'AUC più alto, che corrisponde al rendimento migliore.
Curva ROC che è approssimativamente una linea retta da (0,0) a
           (1,1), con alcuni zig zag. La curva ha un valore AUC pari a 0,508.
Curva ROC che si muove a zig zag verso l'alto e verso destra da (0,0) a (1,1).
           La curva ha un AUC pari a 0,623.
Curva ROC che si curva verso destra e poi verso l'alto da
                (0,0) a (1,1). La curva ha un AUC pari a 0,31.
Quale dei seguenti modelli ha un rendimento peggiore del caso?
Curva ROC che si curva verso destra e poi verso l'alto da
                (0,0) a (1,1). La curva ha un AUC pari a 0,32.
Questo modello ha un AUC inferiore a 0,5, il che significa che ha un rendimento inferiore al caso.
Curva ROC che è approssimativamente una linea retta da
                    (0,0) a (1,1), con alcuni zig zag. La curva ha un valore AUC di 0,508.
Questo modello ha un rendimento leggermente migliore del caso.
Curva ROC che è una linea retta diagonale da
                (0,0) a (1,1). La curva ha un AUC pari a 0,5.
Questo modello ha lo stesso rendimento del caso.
Curva ROC composta da due linee perpendicolari: una linea verticale da (0,0) a (0,1) e una linea orizzontale da (0,1) a (1,1).
      Questa curva ha un AUC pari a 1,0.
Si tratta di un classificatore perfetto ipotetico.

(Facoltativo, avanzato) Domanda bonus

Quale delle seguenti modifiche può essere apportata al modello peggiore del caso nella domanda precedente per migliorarne il rendimento?
Invertire le previsioni, in modo che le previsioni di 1 diventino 0 e le previsioni di 0 diventino 1.
Se un classificatore binario inserisce in modo affidabile gli esempi nelle classi sbagliate più spesso del caso, cambiare l'etichetta della classe migliora immediatamente le sue previsioni rispetto al caso senza dover addestrare nuovamente il modello.
Predire sempre la classe negativa.
Ciò può o meno migliorare il rendimento rispetto al caso. Inoltre, come discusso nella sezione Accuratezza, non si tratta di un modello utile.
Predire sempre la classe positiva.
Ciò può o meno migliorare il rendimento rispetto al caso. Inoltre, come discusso nella sezione Accuratezza, non si tratta di un modello utile.

Immagina una situazione in cui è meglio consentire a un po' di spam di raggiungere la posta in arrivo piuttosto che inviare un'email aziendale importante alla cartella dello spam. Hai addestrato un classificatore di spam per questa situazione in cui la classe positiva è spam e la classe negativa è non spam. Quale dei seguenti punti sulla curva ROC per il tuo classificatore è preferibile?

Una curva ROC con AUC=0,84 che mostra tre punti nella parte convessa della curva vicini a (0,1). Il punto A si trova approssimativamente
       (0,25, 0,75). Il punto B si trova approssimativamente a (0,30, 0,90) ed è
       il punto che massimizza il TPR riducendo al minimo il FPR. Il punto C si trova approssimativamente in (0,4; 0,95).
Punto A
In questo caso d'uso, è meglio ridurre al minimo i falsi positivi, anche se diminuiscono anche i veri positivi.
Punto B
Questa soglia bilancia i veri e i falsi positivi.
Punto C
Questa soglia massimizza i veri positivi (vengono segnalate più email di spam) a fronte di un aumento dei falsi positivi (più email legittime segnalate come spam).