Richiamo e precisione nella classificazione


40

Ho letto alcune definizioni di richiamo e precisione, anche se è sempre nel contesto del recupero delle informazioni. Mi chiedevo se qualcuno potesse spiegarlo un po 'di più in un contesto di classificazione e forse illustrare alcuni esempi. Ad esempio, ho un classificatore binario che mi dà una precisione del 60% e un richiamo del 95%, è un buon classificatore?

Forse per aiutare un po 'di più il mio obiettivo, qual è il miglior classificatore secondo te? (il set di dati è sbilanciato. La classe di maggioranza ha il doppio del numero di esempi della classe di minoranza)

Personalmente direi 5 a causa dell'area sotto la curva dell'operatore del ricevitore.

(come puoi vedere qui il modello 8 ha una bassa precisione, un richiamo molto elevato, ma uno dei più bassi AUC_ROC, lo rende un modello buono? o cattivo?)

inserisci qui la descrizione dell'immagine


modificare:

Ho un file Excel con maggiori informazioni: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

In questo documento è possibile trovare l'area sotto la curva dell'operatore del ricevitore e l'area sotto la curva di richiamo della precisione. Insieme alle trame.


6
Perché il voto negativo? Sembra una domanda interessante (sicuramente diverse persone hanno ritenuto possibile rispondere).
Gala,

Quanti casi di test sono stati coinvolti nel calcolo delle misure di prestazione? Inoltre, se si confrontano più classificatori sullo stesso set di dati, è possibile utilizzare un design accoppiato (ci sono diverse domande e risposte sul CV che parlano del confronto tra classificatori).
cbeleites supporta Monica il

Ho 799 campioni (se questo è ciò che intendi per test case). Ogni volta che divido i dati in 10 sottoinsieme. 1 sottoinsieme per il test dei classificatori e il resto per l'addestramento dei classificatori (i classificatori che vengono confrontati vengono addestrati sugli stessi dati).
Olivier_s_j il

I classificatori generano un valore binario o generano un valore reale e quindi utilizzano una soglia per renderlo binario?
galath,

Emettono un output binario.
Olivier_s_j il

Risposte:


40

Se un classificatore sia “buono” dipende davvero

  1. Cos'altro è disponibile per il tuo problema specifico. Ovviamente, vuoi che un classificatore sia migliore delle ipotesi casuali o ingenue (ad esempio classificare tutto come appartenente alla categoria più comune) ma alcune cose sono più facili da classificare di altre.
  2. Il costo di diversi errori (falso allarme vs. falsi negativi) e la tariffa base. È molto importante distinguere i due e capire le conseguenze in quanto è possibile avere un classificatore con un'accuratezza molto elevata (classificazioni corrette su alcuni campioni di test) che è completamente inutile nella pratica (supponiamo che stai cercando di rilevare una malattia rara o alcuni comportamento malizioso insolito e piano di avvio di un'azione al momento del rilevamento; I test su larga scala costano qualcosa e l'azione correttiva / trattamento in genere comporta anche rischi / costi significativi, quindi considerando che la maggior parte dei colpi saranno falsi positivi, dal punto di vista dei costi / benefici potrebbe essere meglio non fare nulla).

Per comprendere il legame tra richiamo / precisione da un lato e sensibilità / specificità dall'altro, è utile tornare a una matrice di confusione:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Il richiamo è TP / (TP + FN) mentre la precisione è TP / (TP + FP). Ciò riflette la natura del problema: nel recupero delle informazioni, si desidera identificare il maggior numero possibile di documenti pertinenti (questo è un richiamo) ed evitare di dover ordinare i file spazzatura (questa è precisione).

Utilizzando la stessa tabella, le metriche di classificazione tradizionali sono la sensibilità (1) definita come TP / (TP + FN) e la specificità (2) definita come TN / (FP + TN). Quindi richiamo e sensibilità sono semplicemente sinonimi, ma precisione e specificità sono definite diversamente (come richiamo e sensibilità, la specificità è definita rispetto al totale della colonna mentre la precisione si riferisce al totale della riga). La precisione è talvolta chiamata anche "valore predittivo positivo" o, raramente, "tasso di falsi positivi" (ma vedere la mia risposta alla relazione tra vero positivo, falso positivo, falso negativo e vero negativo riguardo alla confusione che circonda questa definizione di falso positivo Vota).

È interessante notare che le metriche di recupero delle informazioni non implicano il conteggio "vero negativo". Questo ha senso: nel recupero delle informazioni, non ti interessa classificare correttamente le istanze negative di per sé , semplicemente non vuoi che troppe di esse inquinino i tuoi risultati (vedi anche Perché i ricordi non tengono conto dei veri negativi? ).

A causa di questa differenza, non è possibile passare dalla specificità alla precisione o viceversa senza ulteriori informazioni, vale a dire il numero di veri negativi o, in alternativa, la percentuale complessiva di casi positivi e negativi. Tuttavia, per lo stesso corpus / set di test, una maggiore specificità significa sempre una maggiore precisione, quindi sono strettamente correlati.

In un contesto di recupero di informazioni, l'obiettivo è in genere identificare un numero limitato di corrispondenze da un numero elevato di documenti. A causa di questa asimmetria, in effetti è molto più difficile ottenere una buona precisione che una buona specificità mantenendo costante la sensibilità / richiamo. Poiché la maggior parte dei documenti è irrilevante, hai molte più occasioni di falsi allarmi che di veri positivi e questi falsi allarmi possono sommergere i risultati corretti anche se il classificatore ha una precisione impressionante su un set di test bilanciato (questo è in effetti ciò che accade negli scenari I menzionato al punto 2 sopra). Di conseguenza, è davvero necessario ottimizzare la precisione e non limitarsi a garantire una specificità decente perché anche tassi dall'aspetto impressionante come il 99% o più a volte non sono sufficienti per evitare numerosi falsi allarmi.

Di solito c'è un compromesso tra sensibilità e specificità (o richiamo e precisione). Intuitivamente, se lanci una rete più ampia, rileverai documenti / casi positivi più rilevanti (maggiore sensibilità / richiamo) ma otterrai anche più falsi allarmi (specificità inferiore e precisione inferiore). Se classifichi tutto nella categoria positiva, hai il 100% di richiamo / sensibilità, una cattiva precisione e un classificatore per lo più inutile ("principalmente" perché se non hai altre informazioni, è perfettamente ragionevole supporre che non lo farà piove in un deserto e agisci di conseguenza, quindi forse l'output non è inutile dopo tutto; ovviamente, non hai bisogno di un modello sofisticato per quello).

Considerando tutto ciò, la precisione del 60% e il richiamo del 95% non suona troppo male, ma, di nuovo, questo dipende davvero dal dominio e da ciò che si intende fare con questo classificatore.


Alcune informazioni aggiuntive sugli ultimi commenti / modifiche:

Ancora una volta, le prestazioni che ci si può aspettare dipendono dai dettagli (in questo contesto si tratterebbe di cose come l'insieme esatto di emozioni presenti nel set di allenamento, la qualità dell'immagine / video, la luminosità, l'occlusione, i movimenti della testa, i video recitati o spontanei, modello dipendente dalla persona o indipendente dalla persona, ecc.) ma F1 su .7 suona bene per questo tipo di applicazioni anche se i modelli migliori possono fare meglio su alcuni set di dati [vedi Valstar, MF, Mehu, M., Jiang, B., Pantic, M., & Scherer, K. (2012). Meta-analisi della prima sfida del riconoscimento delle espressioni facciali. Transazioni IEEE su sistemi, uomo e cibernetica, Parte B: Cibernetica, 42 (4), 966-979.]

Se un tale modello sia utile nella pratica è una domanda completamente diversa e ovviamente dipende dall'applicazione. Si noti che l '"espressione" facciale è essa stessa un argomento complesso e passare da un tipico set di allenamento (espressioni poste) a qualsiasi situazione di vita reale non è facile. Questo è piuttosto fuori tema su questo forum, ma avrà gravi conseguenze per qualsiasi applicazione pratica che potresti prendere in considerazione.

Infine, il confronto diretto tra i modelli è un'altra domanda. La mia opinione sui numeri che hai presentato è che non c'è alcuna differenza drammatica tra i modelli (se fai riferimento al documento che ho citato sopra, la gamma di punteggi F1 per modelli ben noti in quest'area è molto più ampia). In pratica, gli aspetti tecnici (semplicità / disponibilità delle librerie standard, velocità delle diverse tecniche, ecc.) Determinerebbero probabilmente quale modello è implementato, tranne forse se il costo / benefici e la tariffa complessiva ti fanno fortemente favorire la precisione o il richiamo.


Il mio classificatore classifica i volti in emozioni positive o negative. Ho eseguito un paio di algoritmi di classificazione con validazione incrociata di 10 volte e talvolta ricevo persino il 100% di richiamo, anche se la precisione è quasi uguale per tutti i classificatori (circa il 65%). Lavoro con un set di dati sbilanciato (la classe di maggioranza ha il doppio della quantità di campioni della classe di minoranza). Ho quindi pensato che questo probabilmente significava che i miei modelli non stavano imparando il modello.
Olivier_s_j il

1
@Gala: Qual è la differenza tra un "falso allarme" e un "falso negativo"? Intendi un "falso allarme" e un "falso positivo"?
Matt O'Brien il

@ MattO'Brien Un falso allarme è un falso positivo (cioè il sistema dice "Attenzione!" O "Trovato qualcosa!" Ma non c'è nulla e non c'è bisogno di agire, quindi "falso allarme"). Forse la terminologia è un po 'confusa, rivedrò la risposta più tardi.
Gala,

@Ojtwist Se il positivo ha una probabilità precedente del 67%, è possibile ottenere un richiamo del 100% e una precisione del 67% prevedendo tutto come positivo.
Segna il

21

Nel contesto della classificazione binaria, gli esempi sono positivi o negativi.

  • Il richiamo risponde alla domanda: "Dato un esempio positivo, il classificatore lo rileverà?"
  • La precisione affronta la domanda: "Data una previsione positiva dal classificatore, quanto è probabile che sia corretta?"

Quindi dipende se l'attenzione è focalizzata su esempi positivi o su previsioni positive.

Si potrebbe dire "ad un richiamo di almeno il 90%, il classificatore con la massima precisione è 4." Ma se ciò che conta è la qualità delle previsioni, tra i classificatori con una precisione di almeno il 70%, quello che ottiene il massimo richiamo è 6.


6

Passare da previsioni continue, utilizzate nel calcolo dell'area ROC (probabilità di concordanza; indice c) a una regola di punteggio impropria discontinua (precisione della classificazione a scelta forzata) provoca tutti i tipi di anomalie e induce in errore l'analista a scegliere i predittori sbagliati e / o il modello sbagliato. È molto meglio prendere decisioni sulla base di regole di punteggio adeguate (ad es. Regola di probabilità log / devianza / probabilità logaritmica; punteggio di Brier (punteggio di precisione della probabilità quadratica)). Tra i molti vantaggi di un tale approccio vi è l'identificazione di osservazioni per le quali la classificazione è pericolosa per la salute a causa dell'incertezza causata da probabilità a medio raggio.


Queste regole di punteggio non sono applicabili solo quando il modello fornisce risultati probabilistici?
Olivier_s_j il

3
Hai citato AUC ROC che richiede uscite probabilistiche (o qualcosa che è una stessa funzione monotonica). I migliori metodi predittivi hanno probabilità sotto il cofano.
Frank Harrell,

DXyY

Il problema con l'uso di ROC e misure di accuratezza della classificazione non a "scelta forzata" è che in realtà non significano nulla nel contesto dell'applicazione in cui si deve effettivamente scegliere una soglia in base a un caso aziendale. Ad esempio, in un prodotto di rilevazione di reati finanziari per investimenti bancari, un'azienda può disporre solo delle risorse umane per indagare su 100 classificazioni all'anno, ciò induce una soglia fissa che dovrebbe essere ottimizzata. Gini, area ROC, ecc. Non ti diranno quanto è buono il modello a questa soglia. ...
Samthebest,

2
È molto ragionevole prevedere un limite di bilancio per il numero di indagini. Ciò non richiede soglie, nessuna nuova ottimizzazione, nessuna classificazione e nessuna analisi ROC. Si ordinano semplicemente le osservazioni in ordine decrescente di rischio previsto e si scelgono le prime 100 osservazioni da indagare. Ciò è legato a una curva di sollevamento utilizzata nel marketing.
Frank Harrell,

5

Né la precisione né il richiamo raccontano l'intera storia ed è difficile confrontare un predittore con, per esempio, il 90% di richiamo e la precisione del 60% con un predittore con, per esempio, una precisione dell'85% e un richiamo del 65% - a meno che, ovviamente, non si abbia costo / beneficio associato a ciascuna delle 4 celle (tp / fp / tn / fn) nella matrice di confusione .

Un modo interessante per ottenere un singolo numero ( competenza , ovvero coefficiente di incertezza ) che descrive le prestazioni del classificatore è utilizzare la teoria dell'informazione :

proficiency = I(predicted,actual) / H(actual)

cioè, ti dice quale frazione delle informazioni presenti nei dati effettivi è stata recuperata dal classificatore. È 0 se precisione o richiamo sono 0 ed è 100% se (e solo se) sia precisione che richiamo sono 100%. In quanto è simile al punteggio di F1 , ma la competenza ha un chiaro significato teorico delle informazioni mentre la F1 è solo una media armonica di due numeri con un significato.

Puoi trovare documenti, presentazioni e codici (Python) per calcolare la metrica di competenza qui: https://github.com/Magnetic/proficiency-metric


interessante! puoi darci un esempio di come calcolare la competenza? perché la formula mi sembra strana.
solitario


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Scortchi - Ripristina Monica
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.