Quali sono i valori corretti per precisione e richiamo quando i denominatori equivalgono a 0?


16

La precisione è definita come:

p = veri positivi / (veri positivi + falsi positivi)

Qual è il valore della precisione se (veri positivi + falsi positivi) = 0? È solo indefinito?

Stessa domanda da ricordare:

r = veri positivi / (veri positivi + falsi negativi)

In questo caso, qual è il valore del richiamo se (veri positivi + falsi negativi) = 0?

PS Questa domanda è molto simile alla domanda Quali sono i valori corretti per precisione e richiamo in casi limite? .


1
Heh, ha anche una risposta nel duplicato; ma chiamiamolo un buon duplicato.

Risposte:


9

Le risposte alla domanda precedente collegata si applicano anche qui.

Se (veri positivi + falsi negativi) = 0, allora nessun caso positivo nei dati di input, quindi qualsiasi analisi di questo caso non ha informazioni e quindi nessuna conclusione su come vengono gestiti i casi positivi. Volete N / A o qualcosa di simile come risultato del rapporto, evitando una divisione per errore zero

Se (veri positivi + falsi positivi) = 0, tutti i casi sono stati previsti come negativi: questa è un'estremità della curva ROC. Ancora una volta, si desidera riconoscere e segnalare questa possibilità evitando una divisione per zero errori.


Grazie Henry per la risposta. Se ho capito bene, nel primo caso, non vuoi riconoscere e riportare il risultato, mentre nel secondo caso lo fai . È corretto?
Raffi Khatchadourian,

Sì: nel caso dei non positivi nell'input, la precisione non ha senso; nel caso previsto senza positività, si desidera segnalare che il test è stato impostato per essere estremamente negativo.
Henry,

5

Una risposta interessante è disponibile qui: https://github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure

Gli autori del modulo emettono punteggi diversi per precisione e richiamo a seconda che i veri positivi, i falsi positivi e i falsi negativi siano tutti 0. Se lo sono, il risultato è apparentemente buono.

In alcuni rari casi, il calcolo di Precisione o Richiamo può causare una divisione per 0. Per quanto riguarda la precisione, ciò può accadere se non ci sono risultati nella risposta di un annotatore e, quindi, i veri e falsi positivi sono 0 Per questi casi speciali, abbiamo definito che se i veri positivi, i falsi positivi e i falsi negativi sono tutti 0, la precisione, il richiamo e la misura F1 sono 1. Ciò potrebbe verificarsi nei casi in cui il gold standard contiene un documento senza annotazioni e l'annotatore (correttamente) non restituisce annotazioni. Se i veri positivi sono 0 e uno degli altri due contatori è maggiore di 0, la precisione, il richiamo e la misura F1 sono 0.

Non sono sicuro che questo tipo di punteggio sia utile in altre situazioni al di fuori del loro caso speciale, ma vale la pena pensarci.


1

Quando si valuta un classificatore a soglie elevate, la precisione potrebbe (spesso in realtà) non essere 1 quando il richiamo è 0. Di solito è N / D! Penso che ci sia qualcosa di sbagliato nel modo in cui le persone tracciano la curva P / R. Evitare campioni N / A è una distorsione nel senso che si evitano i campioni di singolarità. Ho calcolato la precisione media rispetto al richiamo medio ignorando i campioni N / A e non ho mai avuto un classificatore a partire da 1 per il richiamo 0 per una rete neurale poco profonda nel rilevamento degli oggetti. Questo vale anche per le curve calcolate con i numeri tp, fp, fn. È abbastanza facile verificare con carta e matita con una singola immagine. Ad esempio: ho un classificatore che genera una singola immagine: preds = [. 7 .6 .5 .1 .05] truth = [nynny] Computando le matrici di confusione con le varie soglie che abbiamo: tp = [2 1 1 1 0 0], fn = [0 1 1 1 2 2], fp = [3 3 2 1 1 0]. il richiamo rec = [1 .5 .5 .5 0 0] e la precisione = [. 4 .25 1/3 .5 0 NaN]. Non vedo come avrebbe senso sostituire un NaN o la precisione (@ richiamo == 0) con 1. 1 dovrebbe essere un limite superiore, non un valore con cui sostituiamo la precisione (@ richiamo == 0).

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.