Area Sotto la Curva (AUC)
Scopri l'importanza dell'Area Sotto la Curva (AUC) nella valutazione dei modelli di ML. Scopri i suoi vantaggi, le informazioni sulla curva ROC e le applicazioni reali.
L'area sotto la curva (AUC) è una metrica fondamentale utilizzata per quantificare le prestazioni dei modelli di classificazione,
in particolare nell'ambito dell'apprendimento
dell'apprendimento automatico (ML). Misura la capacità di un modello
di un modello di distinguere tra le classi, ad esempio separando le istanze positive da quelle negative. A differenza delle metriche
che si basano su una singola soglia decisionale, l'AUC fornisce una visione completa delle prestazioni su tutte le possibili soglie.
soglie possibili. Questo la rende uno strumento essenziale per la valutazione
algoritmi di apprendimento supervisionato, assicurando che
che le capacità predittive del modello siano robuste e non influenzate da uno specifico punto di cutoff. Un valore di AUC più elevato indica generalmente
indica un modello più performante, con un punteggio di 1,0 che rappresenta una classificazione perfetta.
La relazione tra AUC e ROC
Il termine AUC si riferisce specificamente all'area sotto la
curva caratteristica operativa del ricevitore (ROC). La curva ROC è un grafico che illustra la capacità diagnostica di un sistema classificatore binario. Traccia
il tasso di veri positivi (TPR), noto anche come richiamo, rispetto al tasso di falsi positivi(FPR).
il tasso di falsi positivi (FPR) a varie impostazioni di soglia.
-
Tasso di positività reale: La percentuale di casi effettivamente positivi identificati dal modello.
-
Tasso di falsi positivi: La percentuale di casi effettivamente negativi che vengono erroneamente identificati come
positivi.
Calcolando l'AUC, gli scienziati dei dati condensano le informazioni contenute nella curva ROC in un unico numero. Questo
semplifica la valutazione dei modelli, consentendo un
un confronto più agevole tra architetture diverse, come ad esempio il confronto tra una
ResNet-50
ResNet-50 rispetto a un'alternativa più leggera.
Interpretare il punteggio
Il punteggio AUC varia da 0 a 1, fornendo un'interpretazione probabilistica della qualità di classificazione del modello.
-
AUC = 1,0: Un classificatore perfetto. È in grado di distinguere correttamente le classi positive e negative il 100% delle volte.
volta.
-
0.5 < AUC < 1.0: The model has a better-than-random chance of classifying instances
correctly. This is the target range for most
predictive modeling tasks.
-
AUC = 0,5: il modello non ha capacità discriminativa, equivalente a un'ipotesi casuale (come lanciare una moneta).
moneta).
-
AUC < 0.5: This suggests the model is performing worse than random chance, often indicating that
the predictions are inverted or there is a significant issue with the
training data.
Per un'immersione più approfondita nei meccanismi di classificazione, risorse come il
Google Machine Learning Crash Course
offrono eccellenti spiegazioni visive.
Applicazioni nel mondo reale
L'AUC è particolarmente preziosa in scenari in cui le conseguenze dei falsi positivi e dei falsi negativi variano
significativamente.
-
Diagnostica medica: In
IA nella sanità, i modelli sono spesso addestrati per
anomalie come i tumori nelle radiografie o nelle risonanze magnetiche. Un punteggio AUC elevato garantisce che il modello classifica in modo affidabile i casi
casi maligni rispetto a quelli benigni. Questa affidabilità è fondamentale per i sistemi di supporto alle decisioni cliniche utilizzati dai radiologi.
radiologi. Per esempio, vedere come
YOLO11 aiuta a rilevare i tumori
evidenzia l'importanza di metriche di valutazione robuste in applicazioni critiche per la vita.
-
Rilevamento delle frodi finanziarie: Le istituzioni finanziarie utilizzano
computer vision (CV) e il riconoscimento dei modelli
per segnalare le transazioni fraudolente. Dal momento che le transazioni legittime superano di gran lunga quelle fraudolente, i dati sono altamente
sbilanciati. L'AUC è preferibile in questo caso perché valuta la classifica delle probabilità di frode senza essere influenzata dall'elevato numero di negativi legittimi.
dall'elevato numero di negativi legittimi, a differenza dell'accuratezza grezza.
accuratezza grezza. Questo aiuta a costruire sistemi che riducono al minimo
l'attrito con il cliente, mantenendo al contempo la sicurezza, una componente fondamentale dell'IA nella finanza.
L 'IA nella finanza.
AUC rispetto ad altre metriche
Capire quando utilizzare l'AUC rispetto ad altre metriche è fondamentale per il successo della
l'implementazione di un modello di successo.
-
AUC vs. Accuratezza: L'accuratezza misura la
percentuale di previsioni corrette. Tuttavia, su insiemi di dati sbilanciati (ad esempio, classe negativa al 99%), un modello può ottenere un'accuratezza del
99% di accuratezza predicendo "negativo" per tutto, pur avendo un potere predittivo pari a zero. L'AUC è
AUC è invariante rispetto allo sbilanciamento delle classi, il che la rende una metrica più onesta per questi problemi.
-
AUC vs. precisione-richiamo: Mentre la ROC AUC considera sia il TPR che il FPR,
Precisione e
Recall si concentrano specificamente sulla classe positiva. Nei casi
casi in cui i falsi positivi sono accettabili ma i falsi negativi no (ad esempio, lo screening iniziale della malattia), l'analisi del compromesso
precisione e richiamo
potrebbe essere più informativa della ROC AUC.
-
AUC vs. mAP: Per i compiti di
compiti di rilevamento di oggetti eseguiti da modelli come
YOLO11la metrica standard è
precisione media (mAP). mAP
calcola essenzialmente l'area sotto la curva precisione-richiamo per i riquadri di delimitazione a specifiche soglie di Intersezione su Unione (IoU).
IoU), mentre l'AUC è tipicamente utilizzata per la confidenza di classificazione degli oggetti.
Calcolo delle probabilità della classe
Per calcolare l'AUC, sono necessari i punteggi di probabilità della classe positiva e non solo le etichette finali della classe. L'esempio
esempio che segue mostra come ottenere queste probabilità utilizzando un
classificazione delle immagini dal modello
ultralytics biblioteca.
from ultralytics import YOLO
# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Access the probability scores for all classes
# These scores are the inputs needed to calculate AUC against ground truth
probs = results[0].probs.data
print(f"Class Probabilities: {probs}")
Una volta ottenute le probabilità per un set di dati, è possibile utilizzare librerie standard come
Scikit-learn per
calcolare il punteggio AUC finale.