Classificazione: ROC e AUC

La sezione precedente presentava un insieme di metriche del modello, tutte calcolate in base a valore di soglia di classificazione singola. Ma se vuoi valutare della qualità del modello in tutte le possibili soglie, sono necessari strumenti diversi.

Curva della caratteristica operativa del ricevitore (ROC)

La curva ROC è una rappresentazione visiva delle prestazioni del modello in tutte le soglie. La versione lunga del nome, caratteristica operativa del ricevitore, è un holdover dal rilevamento radar durante la seconda guerra mondiale.

La curva ROC viene tracciata calcolando il tasso di veri positivi (TPR) e il tasso di falsi positivi (FPR) a ogni soglia possibile (in pratica, intervalli selezionati), quindi rappresentando graficamente il TPR su quello FPR. Un modello perfetto, che a una certa soglia ha un TPR di 1,0 e un FPR di 0,0, può essere rappresentata da un punto (0, 1) se tutte le altre soglie vengono ignorate o da quanto segue:

Figura 1. Grafico di TPR (asse y) rispetto a FPR (asse x) che mostra il
            prestazioni di un modello perfetto: la linea da (0,1) a (1,1).
Figura 1. ROC e AUC di un modello ipotetico perfetto.

Area sotto la curva (AUC)

L'area sotto la curva ROC (AUC) rappresenta la probabilità che il modello, se vengono forniti un esempio positivo e negativo scelto in modo casuale, classifica il positivo è più alto del negativo.

Il modello perfetto sopra, contenente un quadrato con lati di lunghezza 1, ha una area sotto la curva (AUC) di 1,0. Ciò significa che esiste una probabilità del 100% che il modello determinerà correttamente il ranking di un esempio positivo scelto in modo casuale più alto di un esempio di esclusione casuale scelto in modo casuale. In altre parole, esaminando la diffusione punti di dati sottostanti, l'AUC fornisce la probabilità che il modello posizioni un quadrato scelto in modo casuale a destra di un cerchio scelto a caso, indipendentemente in cui è impostata la soglia.

Riga di dati del widget senza cursore

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

Per un classificatore binario, un modello che funziona esattamente così come ipotesi o il lancio di una moneta ha una ROC che è una linea diagonale da (0,0) a (1,1). L'AUC è 0,5, che rappresenta una probabilità del 50% di classificare correttamente un positivo e un esempio negativo.

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

Figura 2. Grafico di TPR (asse y) rispetto a FPR (asse x) che mostra il
            prestazioni di un indovino casuale 50-50: una linea diagonale da (0,0)
            a (1,1).
Figura 2. ROC e AUC di ipotesi completamente casuali.

(Facoltativo, avanzato) Curva di precisione-richiamo

AUC e ROC sono ideali per confrontare i modelli quando il set di dati è approssimativamente equilibrato tra le classi. Quando il set di dati è sbilanciato, precisione-richiamo (PRC) e l'area sotto tali curve possono offrire una migliore e la visualizzazione delle prestazioni del modello. Le curve di precisione-richiamo sono create la precisione di tracciamento sull'asse y e il richiamo sull'asse x su tutte soglie.

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

AUC e ROC per scegliere modello e soglia

L'AUC è uno strumento utile per confrontare il rendimento di due diversi modelli: purché il set di dati sia bilanciato in modo approssimativo. (vedi Curva di precisione-richiamo, sopra per set di dati sbilanciati). Il modello con un'area più grande sotto la curva è generalmente quella migliore.

Figura 3.a. Grafico ROC/AUC di un modello con AUC=0.65. Figura 3.b. Grafico ROC/AUC di un modello con AUC=0.93.
Figura 3. ROC e AUC di due modelli ipotetici. La curva sul di destra, con un'AUC maggiore, rappresenta il migliore dei due modelli.

I punti di una curva ROC più vicina a (0,1) rappresentano un intervallo soglie delle prestazioni migliori per il modello specificato. Come discusso nel Soglie, Matrice di confusione e Scelta della metrica e dei compromessi sezioni, la soglia che scegli dipende dalla metrica più importante per caso d'uso specifico. Considera i punti A, B e C della sezione ognuno dei quali rappresenta una soglia:

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

Se i falsi positivi (falsi allarmi) sono molto costosi, può avere senso scegli una soglia che dia un FPR più basso, come quella del punto A, anche se TPR è ridotto. Al contrario, se i falsi positivi sono economici e i falsi negativi (veri positivi mancanti) molto costosa, la soglia per il punto C, che massimizza il TPR, probabilmente è preferibile. Se i costi sono più o meno equivalenti, il punto B può offrire il miglior equilibrio tra TPR e FPR.

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

Allenamento: verifica le tue conoscenze

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

(Facoltativo, avanzato) Domanda bonus

Quali delle seguenti modifiche possono essere apportate con la peggiore probabilità nella domanda precedente in modo che abbia un rendimento migliore del caso?
Inverti le previsioni, in modo che le previsioni di 1 diventino 0 e le previsioni di 0 diventano 1.
Se un classificatore binario inserisce in modo affidabile esempi nella classi errate più spesso del caso, cambiando l'etichetta del corso rende le sue previsioni migliori del caso senza dover e riaddestrare il modello.
Deve sempre prevedere la classe negativa.
Questo può migliorare o meno il rendimento al di sopra delle possibilità. Inoltre, come di cui si parla nella sezione Accuratezza, non è un modello utile.
Deve sempre prevedere la classe positiva.
Questo può migliorare o meno il rendimento al di sopra delle possibilità. Inoltre, come di cui si parla nella sezione Accuratezza, non è un modello utile.

Immagina una situazione in cui è meglio consentire a un po' di spam di raggiungere posta in arrivo anziché inviare un'email di importanza critica all'azienda nella cartella Spam. Hai addestrato un classificatore di spam in questa situazione in cui la classe positiva è spam e la classe negativa è non spam. Quale dei seguenti punti sulla curva ROC del classificatore è preferibile?

Una curva ROC di AUC=0,84 che mostra tre punti sulla parte convessa
       la curva vicina a (0,1). Il punto A è a circa
       (0,25, 0,75). Il punto B è a circa (0, 30; 0,90) ed è
       il punto che massimizza il TPR riducendo al minimo l'FPR. Punto
       C è a circa (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 (segnala più spam) con il costo di un maggior numero di falsi positivi (le email più legittime contrassegnate come spam).