Scopri come l'area sotto la curva (AUC) misura le prestazioni del modello. Scopri il suo ruolo nella classificazione, nella sanità e nella finanza utilizzando Ultralytics .
L'area sotto la curva (AUC) è una metrica di prestazione completa utilizzata nell' apprendimento automatico (ML) per valutare il potere discriminatorio di un modello di classificazione. Nello specifico, misura l'area bidimensionale sotto la curva ROC (Receiver Operating Characteristic), fornendo un unico valore scalare compreso tra 0 e 1. Un AUC pari a 1,0 indica un classificatore perfetto, mentre un AUC pari a 0,5 suggerisce che il modello non offre prestazioni migliori rispetto al caso casuale. Poiché aggrega le prestazioni su tutte le possibili soglie di classificazione, l'AUC è particolarmente efficace per valutare le capacità di modellazione predittiva in scenari in cui il confine decisionale ottimale è sconosciuto o variabile.
Per comprendere appieno l'AUC, è necessario comprendere la curva ROC sottostante. Questo grafico traccia il tasso di veri positivi (ricordo) rispetto al tasso di falsi positivi a varie impostazioni di soglia. L' AUC quantifica essenzialmente la probabilità che il modello classifichi un'istanza positiva scelta a caso più in alto di una negativa scelta a caso.
L'AUC è una metrica preferita nei settori che si occupano di processi decisionali critici e set di dati sbilanciati, dove una classe è significativamente più rara dell'altra.
È fondamentale differenziare l'AUC da altre informazioni sulla valutazione dei modelli per scegliere lo strumento giusto per il proprio progetto.
L'esempio seguente mostra come caricare un modello di classificazione YOLO26 pre-addestrato ed eseguire la convalida. Mentre i modelli YOLO riportano principalmente l'accuratezza top-1 e top-5, il processo di convalida genera i dati di previsione necessari per analizzare le metriche basate sulle curve.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Validate the model on a standard dataset (e.g., imagenet10)
# This generates precision, recall, and accuracy metrics
results = model.val(data="imagenet10")
# Access top-1 accuracy, a key point on the ROC curve
print(f"Top-1 Accuracy: {results.top1:.4f}")
print(f"Top-5 Accuracy: {results.top5:.4f}")
Per una gestione completa del ciclo di vita, comprese l'annotazione dei set di dati e la formazione cloud in cui tali metriche vengono visualizzate automaticamente, gli sviluppatori possono utilizzare Ultralytics . Ciò semplifica il processo di interpretazione di metriche complesse come l'AUC senza calcoli manuali.