Che cos'è la soglia ottimale F1? Come calcolarlo?


13

Ho usato la funzione h2o.glm () in R che fornisce una tabella di contingenza nel risultato insieme ad altre statistiche. La tabella di contingenza è intitolata " Tabulazione incrociata basata sulla soglia ottimale F1 "

Wikipedia definisce il punteggio F1 o il punteggio F come media armonica di precisione e richiamo. Ma la precisione e il richiamo non vengono trovati solo quando il risultato dei valori previsti di una regressione logistica (ad esempio) viene trasformato in binario usando un limite.

Ora, per cutoff, ricordo qual è la connessione tra il punteggio F1 e la soglia ottimale. Come viene calcolata la soglia ottimale? Come viene calcolata la soglia ottimale F1?

Scusa se mi sono perso qualcosa, sono nuovo alle statistiche qui.

Risposte:


22

In realtà ho scritto il mio primo articolo sull'apprendimento automatico su questo argomento. In esso, abbiamo identificato che quando il tuo classificatore emette probabilità calibrate (come dovrebbero per la regressione logistica) la soglia ottimale è circa 1/2 del punteggio F1 che raggiunge. Questo ti dà un po 'di intuizione. La soglia ottimale non sarà mai superiore a 0,5. Se la tua F1 è 0,5 e la soglia è 0,5, allora dovresti aspettarti di migliorare F1 abbassando la soglia. D'altra parte, se la F1 fosse 0,5 e la soglia fosse 0,1, probabilmente dovresti aumentare la soglia per migliorare la F1.

Il documento con tutti i dettagli e una discussione sul perché la F1 possa o meno essere una buona misura per l'ottimizzazione (sia nel caso singolo che multilabel) può essere trovato qui:

https://arxiv.org/abs/1402.1892

Mi dispiace che ci siano voluti 9 mesi per questo post per attirare la mia attenzione. Spero che troverai ancora utili le informazioni!


1
F1 può essere> 1? Se hai il 90% A e il 10% ~ A, penso che vorresti una soglia> .5.
gung - Ripristina Monica

1
Ciao @gung. No, per definizione F1 = 2 * p * r / (p + r) e, come tutte le misure F-beta, ha un intervallo [0,1]. Lo squilibrio di classe non modifica l'intervallo del punteggio F1. Per alcune applicazioni, potresti davvero voler fare previsioni con una soglia superiore a 0,5. In particolare, ciò accadrebbe ogni volta che pensi che i falsi positivi siano peggiori dei falsi negativi. Ma tale soglia non ottimizzerebbe il punteggio di F1. Per capire perché, il punteggio F1 è stato sviluppato nel contesto del recupero delle informazioni. In questi contesti, la classe positiva è rara e in genere i falsi positivi non sono costosi come i falsi negativi.
Zachary Chase Lipton,

@ZacharyChaseLipton Supponiamo di avere un set di dati suddiviso in train / val / test. Per un classificatore che genera una probabilità, selezionerei la soglia F1 ottimale sul set di validazione esaminando la soglia che produce la F1 migliore. Questo sembra ragionevole in quanto la selezione della soglia sembra simile alla selezione del modello migliore. È la cosa giusta da fare?
pir

Inoltre, supponiamo di avere un classificatore che non genera probabilità (come un SVM). Come ottimizzeresti la F1 sul set di validazione allora?
pir

L'ho trasformato in una domanda: stats.stackexchange.com/questions/283931/…
pir
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.