Calcolatore F1 a B – Valutazione delle Prestazioni
Guida Completa al Calcolo dell’F1 Score e Fβ Score
L’F1 score (o F-score) è una metrica fondamentale nell’ambito del machine learning e della statistica per valutare le prestazioni di un modello di classificazione binaria. Mentre l’accuratezza può essere fuorviante in presenza di dataset sbilanciati, l’F1 score fornisce una misura equilibrata tra precisione e recall (o sensibilità).
Cos’è l’F1 Score?
L’F1 score è la media armonica tra precisione e recall, dove:
- Precisione = Veri Positivi / (Veri Positivi + Falsi Positivi)
- Recall = Veri Positivi / (Veri Positivi + Falsi Negativi)
La formula per l’F1 score è:
F1 = 2 × (Precisione × Recall) / (Precisione + Recall)
Quando Usare l’Fβ Score
L’Fβ score generalizza il concetto di F1 introducendo un parametro β che permette di dare più peso alla precisione o al recall a seconda delle esigenze:
- β = 1: F1 standard (equilibrato)
- β < 1: Maggiore peso alla precisione (es. β=0.5)
- β > 1: Maggiore peso al recall (es. β=2)
La formula generale è:
Fβ = (1 + β²) × (Precisione × Recall) / (β² × Precisione + Recall)
Applicazioni Pratiche
L’F1 score e le sue varianti sono utilizzate in numerosi contesti:
- Diagnosi Medica: Valutazione di test per malattie rare (dove i falsi negativi sono critici).
- Rilevamento Frodi: Minimizzare i falsi positivi (precisione) senza trascurare le frodi reali (recall).
- Information Retrieval: Valutazione dei motori di ricerca (es. precisione vs. copertura dei risultati).
- Computer Vision: Rilevamento oggetti in immagini (es. veicoli autonomi).
Confronto tra Metriche di Valutazione
| Metrica | Formula | Quando Usarla | Limiti |
|---|---|---|---|
| Accuratezza | (VP + VN) / Totale | Dataset bilanciati | Fuorviante con classi sbilanciate |
| Precisione | VP / (VP + FP) | Costo alto per falsi positivi | Ignora i falsi negativi |
| Recall | VP / (VP + FN) | Costo alto per falsi negativi | Ignora i falsi positivi |
| F1 Score | 2 × (P × R) / (P + R) | Equilibrio tra precisione e recall | Non personalizzabile per casi specifici |
| Fβ Score | (1+β²) × (P × R) / (β²P + R) | Priorità personalizzabile | Richiede scelta di β |
Esempi Pratici con Dati Reali
Di seguito alcuni esempi di applicazione dell’F1 score in scenari reali, basati su studi pubblicati:
| Dominio | Precisione | Recall | F1 Score | Fonte |
|---|---|---|---|---|
| Diagnosi Alzheimer (MRI) | 0.88 | 0.85 | 0.86 | NIH (2022) |
| Rilevamento Spam (Email) | 0.95 | 0.92 | 0.93 | FTC (2021) |
| Classificazione Tumori (Istologia) | 0.91 | 0.87 | 0.89 | NCI (2023) |
Come Interpretare i Risultati
I valori dell’F1 score vanno da 0 a 1, dove:
- 1.0: Prestazioni perfette (precisione e recall massime).
- 0.8-0.9: Ottime prestazioni.
- 0.5-0.7: Prestazioni moderate (migliorabili).
- < 0.5: Prestazioni scadenti (modello non affidabile).
Nel caso dell’Fβ score, l’interpretazione dipende dal valore di β:
- Con β < 1, un punteggio alto indica una precisione elevata a discapito del recall.
- Con β > 1, un punteggio alto indica un recall elevato a discapito della precisione.
Errori Comuni da Evitare
- Usare l’accuratezza con dati sbilanciati: Se il 95% dei campioni è della classe negativa, un modello che predice sempre “negativo” avrà un’accuratezza del 95% ma un F1 score di 0.
- Ignorare il contesto: In medicina, un falso negativo (malattia non rilevata) è spesso più grave di un falso positivo (allarme ingiustificato).
- Scegliere β senza criterio: Il valore di β deve riflettere i costi relativi degli errori nel dominio specifico.
- Confondere F1 con AUC-ROC: L’AUC-ROC valuta le prestazioni a diverse soglie, mentre l’F1 è specifico per una soglia fissata.
Strumenti per il Calcolo Automatico
Oltre a questo calcolatore, esistono numerose librerie per calcolare l’F1 score in modo programmatico:
- Python (scikit-learn):
from sklearn.metrics import f1_score, fbeta_score f1 = f1_score(y_true, y_pred) fbeta = fbeta_score(y_true, y_pred, beta=2) - R (caret):
library(caret) f1 <- F1_Score(y_true, y_pred) - Excel/Google Sheets: Utilizzare le formule per precisione e recall, poi applicare la formula dell'F1 score.
Approfondimenti e Risorse Autorevoli
Per approfondire l'argomento, consultare le seguenti risorse: