Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Curva Receiver Operating Characteristic (ROC)

Scopri come utilizzare la curva ROC (Receiver Operating Characteristic) per valutare i classificatori binari. Esplora i compromessi tra TPR e FPR con Ultralytics .

La curva ROC (Receiver Operating Characteristic) è uno strumento grafico fondamentale utilizzato per valutare le prestazioni dei modelli di classificazione binaria. Nel campo dell' apprendimento automatico (ML), essa visualizza il compromesso tra la sensibilità di un modello e la sua specificità in tutte le possibili soglie decisionali. A differenza delle metriche a valore singolo come l'accuratezza, che possono essere fuorvianti se un set di dati è sbilanciato, la curva ROC fornisce una visione completa di come si comporta un classificatore man mano che i criteri per identificare le istanze positive diventano più o meno rigorosi. Questa visualizzazione è essenziale per gli ingegneri che utilizzano tecniche di apprendimento supervisionato per determinare il punto di funzionamento ottimale per il loro caso d'uso specifico.

Interpretazione degli assi e dei compromessi

Per comprendere una curva ROC, è necessario osservare i due parametri tracciati l'uno rispetto all'altro: il tasso di positività reale (TPR) e il tasso di falsi positivi (FPR).

  • Tasso di positività reale (TPR): spesso indicato come ricordo o sensibilità, questo parametro sull'asse y misura la proporzione di osservazioni positive effettive che il modello ha identificato correttamente. Un TPR elevato significa che il sistema raramente manca un obiettivo.
  • Tasso di falsi positivi (FPR): tracciato sull'asse x, rappresenta il rapporto tra i casi negativi che vengono erroneamente classificati come positivi, noti anche come "falsi allarmi".

La curva illustra una relazione dinamica: abbassando la soglia di confidenza per catturare più casi positivi (aumentando il TPR), si aumenta inevitabilmente il rischio di segnalare erroneamente casi negativi (aumentando il FPR). Un classificatore perfetto raggiungerebbe l'angolo in alto a sinistra del grafico, indicando una sensibilità del 100% e un falso allarme dello 0%. Un modello che effettua ipotesi casuali apparirebbe come una linea diagonale dal basso a sinistra verso l'alto a destra. Le prestazioni complessive sono spesso riassunte dall' area sotto la curva (AUC), dove un valore di 1,0 rappresenta la perfezione.

Applicazioni nel mondo reale

La decisione su dove impostare la soglia su una curva ROC dipende interamente dal costo degli errori in una specifica applicazione industriale.

  1. Diagnostica medica: nell' ambito dell'intelligenza artificiale in campo sanitario, in particolare per attività quali l' individuazione di tumori nell'analisi di immagini mediche, il costo di un caso positivo mancato (un falso negativo) è potenzialmente letale. Pertanto, i medici scelgono spesso una soglia che massimizza il TPR, anche se ciò comporta un FPR più elevato, il che significa che un numero maggiore di pazienti sani potrebbe essere inizialmente segnalato per ulteriori esami.
  2. Rilevamento delle frodi finanziarie: quando l'intelligenza artificiale viene utilizzata in ambito finanziario per monitorare le transazioni con carta di credito, le banche devono trovare un equilibrio tra sicurezza ed esperienza del cliente. Se il sistema è troppo sensibile (TPR elevato ), potrebbe bloccare carte legittime (FPR elevato), frustrando gli utenti. Gli analisti utilizzano la curva ROC per trovare una soglia equilibrata che rilevi la maggior parte delle frodi mantenendo i falsi positivi ad un minimo accettabile.

Generazione di probabilità per l'analisi ROC

Per tracciare una curva ROC, sono necessarie le probabilità di previsione grezze piuttosto che solo le etichette di classe finali. L'esempio seguente utilizza il modello all'avanguardia YOLO26 per generare i punteggi di classificazione.

from ultralytics import YOLO

# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Run inference to get probability distribution
results = model("bus.jpg")

# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")

Una volta raccolte queste probabilità per un set di validazione, gli sviluppatori possono utilizzare librerie come Scikit-learn per calcolare i punti della curva. Per la gestione dei set di dati e il monitoraggio di queste metriche nel tempo, la Ultralytics offre strumenti integrati per la valutazione e l'implementazione dei modelli.

ROC vs. Concetti correlati

È importante distinguere la curva ROC dagli altri strumenti di valutazione:

  • vs. Curva Precision-Recall (PR): mentre la curva ROC traccia il TPR rispetto all'FPR, la curva Precision-Recall traccia la precisione rispetto al recall. La curva PR è generalmente preferibile quando il set di dati è fortemente sbilanciato (ad esempio, rilevamento di anomalie rare), poiché la curva ROC può talvolta presentare una visione eccessivamente ottimistica in tali scenari.
  • vs. Matrice di confusione: una matrice di confusione fornisce un'istantanea delle prestazioni a una singola soglia specifica. Al contrario, la curva ROC visualizza le prestazioni su tutte le soglie possibili, rendendola uno strumento più ampio per l' analisi della modellazione predittiva prima che venga stabilita una regola decisionale definitiva.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora