Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Area Under the Curve (AUC)

AUC trasforma una curva ROC in un unico punteggio compreso tra 0 e 1: la probabilità che un classificatore assegni a un positivo casuale un punteggio superiore a quello di un negativo casuale. AUC ROC e AUC PR, con codice.

L'area sotto la curva (AUC) è una metrica che riassume la capacità di un classificatore binario di distinguere due classi a ogni possibile soglia decisionale. Nel machine learning, AUC indica quasi sempre l'area sotto la curva ROC (receiver operating characteristic), chiamata anche ROC AUC o AUROC. Il suo valore corrisponde alla probabilità che il modello assegni a un esempio positivo scelto a caso un punteggio superiore a quello di un esempio negativo scelto a caso. Un'AUC di 1.0 significa che ogni positivo supera ogni negativo; 0.5 indica che l'ordinamento non è migliore del caso, mentre valori inferiori a 0.5 indicano un ordinamento invertito. Poiché dipende solo dall'ordine dei punteggi, l'AUC valuta un modello prima che venga scelta una soglia, rendendola una metrica standard per i modelli di diagnosi medica, la valutazione del merito creditizio e il rilevamento delle frodi.

Come si calcola l'AUC#

La curva ROC rappresenta il tasso di veri positivi, ovvero il recall, rispetto al tasso di falsi positivi, cioè la quota di negativi segnalati erroneamente, mentre la soglia decisionale scende dal punteggio più alto a quello più basso. Una soglia superiore a tutti i punteggi non segnala nulla e corrisponde a (0, 0); una soglia inferiore a tutti i punteggi segnala tutto e corrisponde a (1, 1). L'AUC è l'area sotto la linea che collega tutti i punti intermedi, di solito calcolata con il metodo dei trapezi.

Lo stesso valore si ottiene contando le coppie. Confrontando ogni positivo con ogni negativo e assegnando a ciascuna coppia un punteggio di 1 se il positivo è classificato più in alto, 0.5 in caso di parità e 0 altrimenti, si ottiene esattamente la ROC AUC: una quantità che gli statistici conoscono come statistica U di Mann-Whitney normalizzata e i ricercatori in ambito medico come statistica di concordanza o c-statistic. I team che valutano il rischio di credito spesso riportano invece il coefficiente di Gini, pari a 2 × AUC − 1.

La prospettiva basata sulle coppie spiega le principali proprietà dell'AUC. Qualsiasi trasformazione che preserva l'ordine dei punteggi, come elevare al quadrato le probabilità o applicare la temperature scaling ai logit di un classificatore binario, lascia invariata l'AUC; un modello può quindi avere un'AUC eccellente e probabilità calibrate male. Per valutare la calibrazione serve una metrica distinta, come il Brier score.

ROC AUC e PR AUC su dati sbilanciati#

La ROC AUC non dipende dal rapporto tra le classi, perché il tasso di veri positivi viene calcolato solo sui positivi e il tasso di falsi positivi solo sui negativi. Questa proprietà diventa un limite quando i positivi sono rari. Con 1 positivo ogni 100, un tasso di falsi positivi del 5% produce circa cinque falsi allarmi per ogni positivo reale, ma incide appena sulla curva ROC. L'area sotto la curva precision-recall (PR AUC), solitamente riassunta come precisione media (AP), rappresenta la precisione rispetto al recall e rende direttamente visibili questi falsi allarmi, risultando più informativa della curva ROC sui dati sbilanciati. Lo script scikit-learn seguente valuta lo stesso modello in entrambi i modi:

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import average_precision_score, roc_auc_score
from sklearn.model_selection import train_test_split

# Imbalanced binary problem: 1 positive per 100 samples
X, y = make_classification(n_samples=20_000, weights=[0.99], flip_y=0, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, stratify=y, random_state=0)

# Score the test set with a simple classifier
model = LogisticRegression(max_iter=1000).fit(X_train, y_train)
scores = model.predict_proba(X_test)[:, 1]

# The same scores summarized by the areas under two different curves
print(f"Positives in test set: {y_test.sum()} of {len(y_test)}")
print(f"ROC AUC: {roc_auc_score(y_test, scores):.3f}")
print(f"PR AUC (average precision): {average_precision_score(y_test, scores):.3f}")

Con 100 positivi tra 10.000 campioni di test, il modello raggiunge una ROC AUC di 0.911, ma una precisione media di appena 0.462. Anche i valori di riferimento delle due metriche sono diversi: un ordinamento casuale ottiene una ROC AUC di 0.5 indipendentemente dal bilanciamento delle classi, mentre la sua precisione media corrisponde al tasso di positivi, in questo caso 0.01.

AUC multiclasse e rilevamento degli oggetti#

La ROC AUC è definita per due classi. Per un numero maggiore, la funzione roc_auc_score di scikit-learn calcola la media delle AUC uno-contro-tutti, in cui ogni classe viene confrontata con tutte le altre, oppure delle AUC uno-contro-uno per ogni coppia di classi, usando una media macro o ponderata per la prevalenza.

Il rilevamento degli oggetti non può usare le curve ROC, perché i negativi sono tutte le posizioni dell'immagine che non contengono oggetti: un insieme praticamente illimitato, privo di un tasso di falsi positivi significativo. Le metriche di rilevamento usano invece le aree sotto le curve precision-recall. La convalida di YOLO26 in Ultralytics calcola la precisione media di ogni classe come area sotto il relativo inviluppo precision-recall, campionata in 101 punti di recall come nella valutazione COCO, e calcola la media di queste aree per ottenere la precisione media (mAP) con soglie IoU da 0.50 a 0.95.

  • Accuratezza: Misura le previsioni corrette a una sola soglia e può sembrare eccellente sui dati sbilanciati pur non individuando alcun positivo. L'AUC misura l'ordinamento a tutte le soglie.
  • Punteggio F1: Combina precisione e recall a una sola soglia, valutando quindi un singolo punto operativo, mentre l'AUC li riassume tutti.
  • Matrice di confusione: Conta veri e falsi positivi e negativi a una sola soglia. Ogni punto ROC riassume una matrice di confusione sotto forma di coppia di tassi.
  • Precisione media: L'area sotto la curva precision-recall, il riepilogo abituale quando i positivi sono rari e l'elemento principale della mAP.
  • AUC parziale: L'area calcolata su un intervallo limitato di falsi positivi, per esempio da 0 a 0.1; si usa quando sono accettabili solo tassi di falsi allarmi bassi, come nei programmi di screening su larga scala in cui ogni falso allarme comporta un esame di approfondimento.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning