F1-score

[ef-uan scor]

Media armonica di precision e recall. Numero unico tra 0 e 1 per riassumere quanto un classificatore è bilanciato.

L'F1-score è la media armonica di precision e recall. Numero unico tra 0 e 1, comodo per confrontare modelli senza guardare due metriche separate.

Formula: F1 = 2 * (precision * recall) / (precision + recall).

Perché media armonica e non aritmetica? Perché penalizza gli sbilanciamenti. Un modello con precision 1.0 e recall 0.0 avrebbe media aritmetica 0.5 (sembra OK), ma F1 = 0 (giusto, è inutile).

F1 alto significa precision E recall sono entrambi alti. F1 basso può voler dire una delle due cose, devi guardare separatamente.

Varianti:

  • F1 micro (per multi-classe): aggrega VP, FP, FN su tutte le classi. Equivalente all'accuracy nel caso multi-classe bilanciato.
  • F1 macro: media degli F1 per classe. Tratta tutte le classi uguali, anche se sbilanciate. Onesto con classi piccole.
  • F1 weighted: media pesata per supporto. Compromesso tra micro e macro.
  • F-beta: generalizzazione che pesa diversamente precision e recall. F2 (beta=2) pesa di più il recall, F0.5 di più la precision.

Quando usare F1:

  • Classi sbilanciate (più del bilanciamento).
  • Costi di errore simili tra falsi positivi e falsi negativi.
  • Vuoi un numero unico per confrontare modelli.

Quando NON usare F1:

  • Costo di FP e FN molto diverso (es. medicina: usa F2).
  • Hai bisogno di una soglia di decisione mobile (usa AUC-ROC).
  • Multi-classe con classi importanti diversamente: meglio guardare la confusion matrix intera.

Nei benchmark NLP (NER, classificazione testo) F1 è la metrica standard. Nei paper, riporta F1 macro per essere onesto sulle classi minoritarie.