La curva ROC, da Receiver Operating Characteristic, rappresenta il comportamento di un classificatore binario al variare della soglia decisionale. Sull’asse verticale si pone il true positive rate, o sensibilità; sull’asse orizzontale si pone il false positive rate, cioè la quota di negativi classificati erroneamente come positivi.
È uno strumento utile quando un modello produce uno score continuo, una probabilità stimata o una misura di rischio, e la decisione finale dipende da una soglia.
TPR e FPR
Usando la terminologia della matrice di confusione, il true positive rate è
dove TP sono i veri positivi e FN i falsi negativi. Il false positive rate è
dove FP sono i falsi positivi e TN i veri negativi.
Ogni soglia produce una coppia (FPR,TPR). Abbassando la soglia, il modello tende a classificare più casi come positivi: aumentano i veri positivi, ma anche i falsi positivi. Alzando la soglia, diminuiscono i falsi allarmi, ma si rischia di perdere positivi reali.
Costruzione della curva
Supponiamo che il modello assegni a ogni osservazione uno score s(x): valori maggiori indicano maggiore evidenza per la classe positiva. Per una soglia \tau, la regola è
Facendo variare \tau da valori molto alti a valori molto bassi, si ottiene una sequenza di punti nel piano ROC. Una curva vicina all’angolo in alto a sinistra indica un buon compromesso: alta sensibilità e basso tasso di falsi positivi.
La diagonale
rappresenta il comportamento di un classificatore casuale, nel senso che lo score non separa positivi e negativi meglio del caso.
AUC
L’area sotto la curva, o AUC, riassume la capacità discriminante del modello:
Un valore vicino a 1 indica forte separazione tra le classi; un valore vicino a 0{,}5 indica prestazione simile al caso. L’AUC può essere interpretata anche come la probabilità che un positivo scelto a caso riceva uno score maggiore di un negativo scelto a caso.
Questa interpretazione mostra che la ROC valuta l’ordinamento prodotto dal modello più che una singola soglia. Per scegliere la soglia finale servono comunque costi decisionali, prevalenza delle classi e vincoli applicativi.
Uso operativo
La curva ROC è utile per confrontare modelli di apprendimento supervisionato indipendentemente da una soglia specifica. In diagnostica, manutenzione predittiva, cybersecurity e controllo qualità, permette di visualizzare il compromesso tra rilevare eventi importanti e generare falsi allarmi.
Le metriche di valutazione ML devono però essere scelte in funzione del problema. Se un falso negativo è molto più costoso di un falso positivo, si può privilegiare una zona della curva con alta sensibilità. Se i falsi allarmi sono costosi, si può imporre un limite massimo al FPR.
Limiti con classi sbilanciate
Con classi fortemente sbilanciate, la curva ROC può apparire ottimistica. Questo accade perché il false positive rate divide per il numero totale di negativi:
Se i negativi sono moltissimi, anche molti falsi positivi possono produrre un FPR apparentemente piccolo. In questi casi la curva precision-recall può essere più informativa per valutare la classe rara.
Anche una loss come la cross-entropy misura un aspetto diverso: valuta la qualità probabilistica degli score, non solo il loro ordinamento. Un modello può avere buona AUC ma probabilità mal calibrate.
Errori comuni
Il primo errore è scegliere un modello solo perché ha AUC più alta, senza considerare la soglia operativa. Il secondo è interpretare la ROC come misura della calibrazione probabilistica. Il terzo è usarla da sola su dataset molto sbilanciati, dove precisione, richiamo, costi e prevalenza devono essere analizzati esplicitamente.
Per esercizi collegati a soglie, matrice di confusione e metriche si veda classificazione e metriche: esercizi svolti.