Area sotto la curva ROC o area sotto la curva PR per dati sbilanciati?


16

Ho dei dubbi su quale misura di prestazione usare, area sotto la curva ROC (TPR in funzione di FPR) o area sotto la curva di richiamo di precisione (precisione come funzione di richiamo).

I miei dati sono sbilanciati, cioè il numero di istanze negative è molto più grande di istanze positive.

Sto usando la previsione dell'output di weka, un esempio è:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

E sto usando le librerie pROC e ROCR.


Hai dimenticato di menzionare ciò che vuoi ottenere con una di queste curve.
Marc Claesen,

1
Nota: sembra che si desideri scegliere tra le curve ROC (TPR in funzione dell'FPR sull'intero intervallo operativo) e le curve PR (precisione rispetto al richiamo sull'intero intervallo operativo). Una terminologia come " AUC-ROC di precisione e richiamo " è molto fuorviante, quindi l'ho modificata. Per favore, ripristinalo se ho frainteso.
Marc Claesen,

Risposte:


27

La domanda è piuttosto vaga, quindi suppongo che tu voglia scegliere una misura di prestazione appropriata per confrontare diversi modelli. Per una buona panoramica delle principali differenze tra le curve ROC e PR, è possibile fare riferimento al seguente documento: La relazione tra precisione-richiamo e curve ROC di Davis e Goadrich .

Per citare Davis e Goadrich:

Tuttavia, quando si ha a che fare con set di dati altamente distorti, le curve di precisione (PR) forniscono un quadro più informativo delle prestazioni di un algoritmo.

FPR=FPFP+TN,TPR=TPTP+FN.
recun'll=TPTP+FN=TPR,precioSioon=TPTP+FP

FP

Le curve di richiamo di precisione sono meglio evidenziare le differenze tra i modelli per set di dati altamente squilibrati. Se si desidera confrontare diversi modelli in impostazioni sbilanciate, l'area sotto la curva PR mostrerà probabilmente differenze maggiori rispetto all'area sotto la curva ROC.

Detto questo, le curve ROC sono molto più comuni (anche se sono meno adatte). A seconda del pubblico, le curve ROC possono essere la lingua franca, quindi l'utilizzo di queste è probabilmente la scelta più sicura. Se un modello domina completamente un altro nello spazio PR (ad esempio, ha sempre una maggiore precisione sull'intero intervallo di richiamo), dominerà anche nello spazio ROC. Se le curve si incrociano in uno spazio, si incrociano anche nell'altro. In altre parole, le conclusioni principali saranno simili, indipendentemente dalla curva utilizzata.


Pubblicità senza vergogna . Come ulteriore esempio, potresti dare un'occhiata a uno dei miei articoli in cui riporto sia le curve ROC che le PR in un ambiente sbilanciato. La Figura 3 contiene curve ROC e PR per modelli identici, mostrando chiaramente la differenza tra i due. Per confrontare l'area sotto l'area PR rispetto all'area sotto ROC è possibile confrontare le tabelle 1-2 (AUPR) e le tabelle 3-4 (AUROC) in cui è possibile vedere che AUPR mostra differenze molto maggiori tra i singoli modelli rispetto ad AUROC. Ciò sottolinea ancora una volta l'idoneità delle curve PR.


Grazie per la spiegazione. La domanda ora, perché le curve PR sono più informative per i dati squilibrati? Per me, ROC dovrebbe essere più informativo perché considera sia TPR che FPR.
MM


1
@MA ha modificato la mia risposta per chiarire.
Marc Claesen,

1
Penso che ci sia un errore nell'equazione per il richiamo tra TPR e FPR, no?
Simon Thordal,

Hai ragione, dovrebbe essere: ricordare = ... = TPR, non FPR. @Marc Claesen, penso che solo tu puoi cambiarlo, perché quando provo a farlo, sono informato che: "Le modifiche dovrebbero avere almeno 6 caratteri", quindi è impossibile correggere piccoli errori di battitura, come questo.
ponadto,

6

Le curve ROC tracciano TPR sull'asse y e FPR sull'asse x, ma dipende da ciò che si desidera rappresentare. A meno che non ci siano motivi per tracciarlo diversamente nella tua area di studio, le curve ROC TPR / FPR sono lo standard per mostrare i compromessi operativi e credo che sarebbero stati ben accolti.

La precisione e il richiamo da soli possono essere fuorvianti perché non tengono conto dei veri negativi.


0

Considero la più grande differenza in ROC e PR AUC il fatto che il ROC sta determinando quanto bene il tuo modello possa "calcolare" la classe positiva E la classe negativa in cui la PR AUC sta davvero solo guardando la tua classe positiva. Quindi, in una situazione di classe equilibrata e in cui ti preoccupi sia delle classi negative che di quelle positive, la metrica AUC ROC funziona alla grande. Quando si ha una situazione di squilibrio, si preferisce utilizzare la PR AUC, ma tenere presente che sta solo determinando quanto bene il modello può "calcolare" la classe positiva!

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.