ROC vs curve di richiamo di precisione su set di dati non bilanciati


17

Ho appena finito di leggere questa discussione. Sostengono che PR AUC è migliore di ROC AUC su set di dati non bilanciati.

Ad esempio, abbiamo 10 campioni nel set di dati di prova. 9 campioni sono positivi e 1 è negativo. Abbiamo un modello terribile che prevede tutto positivo. Pertanto, avremo una metrica che TP = 9, FP = 1, TN = 0, FN = 0.

Quindi, Precisione = 0.9, Richiamo = 1.0. La precisione e il richiamo sono entrambi molto elevati, ma abbiamo un classificatore scarso.

D'altra parte, TPR = TP / (TP + FN) = 1.0, FPR = FP / (FP + TN) = 1.0. Poiché l'FPR è molto elevato, possiamo identificare che questo non è un buon classificatore.

Chiaramente, ROC è meglio di PR su set di dati non bilanciati. Qualcuno può spiegare perché PR è meglio?


1
Precisione e richiamo ignorano entrambi i falsi negativi. La solita giustificazione per l'utilizzo del compromesso PR (curve o punteggio F) è che il numero di negativi e falsi negativi è enorme rispetto a TP e FP. Quindi TNR-> 1 e FPR-> 0 (somma a 1 con lo stesso | Neg | | denominatore). Quindi PR in questo caso riflette (amplifica o ingrandisce) il trade off TP vs FP, ma questo non è significativo e ciò che è rilevante è un aumento dell'indice Youden J (Informedness = TPR-FPR = TPR + TNR-1 = Sensibilità + Specificità-1) che corrisponde al doppio dell'area tra la curva triangolare del singolo punto operativo e la linea della probabilità ROC.
David MW

2
@DavidMWPowers, perché non trasformarlo in una risposta ufficiale? Mi sembra una risposta molto istruttiva.
gung - Ripristina Monica

2
c

Risposte:


8

In primo luogo, l'affermazione sul posto di Kaggle è falsa. Il documento a cui fanno riferimento, " La relazione tra precisione-richiamo e curve ROC ", non afferma mai che PR AUC sia migliore di ROC AUC. Confrontano semplicemente le loro proprietà, senza giudicare il loro valore.

Le curve ROC possono talvolta essere fuorvianti in alcune applicazioni molto squilibrate. Una curva ROC può comunque apparire piuttosto buona (cioè migliore di quella casuale) mentre classifica erroneamente la maggior parte o tutta la classe di minoranza.

Al contrario, le curve PR sono specificamente studiate per il rilevamento di eventi rari e sono piuttosto utili in quegli scenari. Mostreranno che il tuo classificatore ha una prestazione bassa se sta classificando male la maggior parte o tutta la classe di minoranza. Ma non si traducono bene in casi più equilibrati o casi in cui i negativi sono rari.

Inoltre, poiché sono sensibili alla probabilità di base degli eventi positivi, non si generalizzano bene e si applicano solo al set di dati specifico su cui sono stati creati o ai set di dati con lo stesso saldo esatto. Ciò significa che è generalmente difficile confrontare le curve PR da diversi studi, limitandone l'utilità.

Come sempre, è importante comprendere gli strumenti disponibili e selezionare quello giusto per l'applicazione giusta. Suggerisco di leggere la domanda ROC vs curve di precisione e richiamo qui su CV.


3

Il tuo esempio è decisamente corretto.

Tuttavia, nel contesto della competizione Kaggle / applicazione di vita reale, penso che un set di dati distorto di solito significhi un set di dati con campioni molto meno positivi rispetto a quelli negativi. Solo in questo caso, PR AUC è più "significativa" di ROC AUC.

Considera un rilevatore con TP = 9, FN = 1, TN = 900, FP = 90, dove sono presenti 10 campioni positivi e 990 negativi. TPR = 0,9, FPR = 0,1 che indica un buon punteggio ROC, tuttavia Precisione = 0,1 che indica un cattivo punteggio PR.


0

Sei a metà strada.

Di solito quando faccio modelli sbilanciati, diamine, anche modelli bilanciati, guardo PR per TUTTE le mie classi.

Nel tuo esempio, sì, la tua classe positiva ha P = 0.9 e R = 1.0. Ma ciò che dovresti guardare sono TUTTE le tue lezioni. Quindi, per la tua classe negativa, P = 0 e R = 0. E di solito non guardi solo i punteggi PR individualmente. Vuoi guardare il punteggio F1 (macro F1 o F1 micro, a seconda del tuo problema) che è una media armonica dei tuoi punteggi PR sia per la classe 1 che per la classe 0. Il tuo punteggio PR di classe 1 è super buono, ma combinalo con il tuo punteggio PR di classe 0, il tuo punteggio F1 sarà TERRIBILE, che è la conclusione corretta per il tuo scenario.

TL, DR: guarda i punteggi PR per TUTTE le tue classi e combinali con una metrica come il punteggio F1 per avere una conclusione realistica sulle prestazioni del tuo modello. Il punteggio F1 per il tuo scenario sarà TERRIBILE, che è la conclusione corretta per il tuo scenario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.