Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Punteggio F1

Scopri come F1-Score bilancia precisione e richiamo per valutare i modelli di machine learning. Scopri come ottimizzare le prestazioni Ultralytics per una maggiore accuratezza.

Il punteggio F1 è una metrica di prestazione fondamentale nell'apprendimento automatico che combina precisione e richiamo in un'unica media armonica. È particolarmente utile per valutare modelli di classificazione in cui il set di dati è sbilanciato o in cui i falsi positivi e i falsi negativi comportano costi diversi. A differenza della semplice accuratezza, che può essere fuorviante se una classe domina il set di dati, l'F1-Score fornisce una visione più equilibrata della capacità di un modello di identificare correttamente le istanze rilevanti riducendo al minimo gli errori. Penalizzando i valori estremi, garantisce che un punteggio elevato venga raggiunto solo quando sia la precisione che il richiamo sono ragionevolmente alti, rendendolo un parametro fondamentale in campi che vanno dalla diagnostica medica al recupero di informazioni.

Perché il punteggio F1 è importante nell'apprendimento automatico

In molti scenari reali, conoscere semplicemente la percentuale di previsioni corrette (accuratezza) non è sufficiente. Ad esempio, nel rilevamento delle anomalie, i casi normali sono di gran lunga superiori alle anomalie. Un modello che prevede "normale" per ogni singolo input potrebbe raggiungere un'accuratezza del 99%, ma sarebbe inutile per rilevare i problemi reali. Il punteggio F1 risolve questo problema bilanciando due metriche concorrenti:

  • Precisione: misura la qualità delle previsioni positive. Risponde alla domanda: "Di tutti i casi che il modello ha etichettato come positivi, quanti erano effettivamente positivi?"
  • Ricordo: misura la quantità di previsioni positive. Risponde alla domanda: "Di tutti i casi positivi effettivi, quanti sono stati identificati correttamente dal modello?"

Poiché spesso esiste un compromesso (migliorare la precisione tende a ridurre il richiamo e viceversa), l'F1-Score funge da metrica unificata per trovare un punto di equilibrio ottimale. Ciò è fondamentale quando si ottimizzano i modelli utilizzando l' ottimizzazione degli iperparametri per garantire prestazioni robuste in condizioni diverse.

Applicazioni nel mondo reale

L'utilità dell'F1-Score si estende a vari settori in cui il costo dell'errore è significativo.

  • Diagnostica medica: nell' ambito dell'intelligenza artificiale in campo sanitario, in particolare per attività quali l' individuazione dei tumori, un falso negativo (mancata individuazione di un tumore) può mettere a rischio la vita del paziente, mentre un falso positivo (segnalazione di tessuto benigno ) causa inutili preoccupazioni. L'F1-Score aiuta i ricercatori a ottimizzare modelli come YOLO26 per garantire che il sistema sia sufficientemente sensibile da individuare le malattie senza sovraccaricare i medici di falsi allarmi.
  • Recupero e ricerca delle informazioni: i motori di ricerca e i sistemi di classificazione dei documenti utilizzano il punteggio F1 per valutare la pertinenza. Gli utenti desiderano visualizzare tutti i documenti pertinenti (alto richiamo), ma non vogliono dover setacciare risultati irrilevanti (alta precisione). Un punteggio F1 elevato indica che il motore sta recuperando efficacemente le informazioni corrette senza confusione.
  • Filtraggio dello spam: i servizi di posta elettronica utilizzano la classificazione del testo per separare lo spam. Il sistema deve individuare le e-mail di spam (richiamo), ma soprattutto non deve etichettare come spazzatura le e-mail di lavoro importanti (precisione). Il punteggio F1 funge da parametro di riferimento principale per questi filtri.

Calcolo dell'F1-Score con Ultralytics

I moderni framework di visione artificiale semplificano il calcolo di queste metriche. Durante l'addestramento dei modelli di rilevamento degli oggetti, il punteggio F1 viene calcolato automaticamente durante la fase di convalida. Ultralytics visualizza queste metriche in grafici in tempo reale, consentendo agli utenti di vedere la curva del punteggio F1 rispetto a diverse soglie di confidenza.

Ecco come è possibile accedere alle metriche di validazione, compresi i componenti dell'F1-Score, utilizzando Python :

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")

# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")

# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")

Punteggio F1 rispetto alle metriche correlate

Comprendere in che modo l'F1-Score differisce dagli altri criteri di valutazione è essenziale per selezionare lo strumento giusto per il tuo progetto.

  • Differenza rispetto all'accuratezza: L'accuratezza tratta tutti gli errori allo stesso modo. L'F1-Score è superiore per i set di dati sbilanciati perché si concentra sulle prestazioni della classe positiva (la classe minoritaria di interesse).
  • Relazione con mAP: La precisione media (mAP) è lo standard per confrontare i modelli di rilevamento degli oggetti su tutte le soglie di confidenza. Tuttavia, il punteggio F1 viene spesso utilizzato per determinare la soglia di confidenza ottimale per l'implementazione. È possibile scegliere la soglia in cui la curva F1 raggiunge il picco per implementare l'applicazione.
  • Matrice di confusione: la matrice di confusione fornisce i conteggi grezzi (veri positivi, falsi positivi, ecc.) da cui deriva il punteggio F1. Mentre la matrice fornisce dettagli granulari, il punteggio F1 fornisce un'unica statistica riassuntiva per un rapido confronto.
  • ROC-AUC: l' area sotto la curva (AUC) misura la separabilità tra tutte le soglie. Il punteggio F1 è generalmente preferibile al ROC-AUC quando si ha una distribuzione delle classi altamente asimmetrica (ad esempio, il rilevamento delle frodi, dove le frodi sono rare).

Migliorare il tuo punteggio F1

Se il tuo modello presenta un punteggio F1 basso, esistono diverse strategie che possono aiutarti. L'aumento dei dati può aumentare la varietà di esempi positivi, aiutando il modello a generalizzare meglio. L'utilizzo del transfer learning da modelli di base robusti consente alla rete di sfruttare le caratteristiche pre-apprendite. Inoltre, la regolazione della soglia di confidenza durante l'inferenza può modificare manualmente l'equilibrio tra precisione e richiamo per massimizzare il punteggio F1 per il tuo caso d'uso specifico.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora