Comprendi le prestazioni del modello con una matrice di confusione. Esplora le metriche, gli usi nel mondo reale e gli strumenti per perfezionare l'accuratezza della classificazione dell'IA.
La matrice di confusione è uno strumento completo di misurazione delle prestazioni utilizzato in apprendimento automatico (ML) per valutare l'accuratezza di un modello di classificazione. A differenza di un semplice punteggio di accuratezza, che indica solo la percentuale di predizioni corrette, una matrice di confusione fornisce una ripartizione granulare di come come il modello categorizza ogni classe. Visualizza la discrepanza tra le etichette previste e la verità reale. verità, consentendo agli sviluppatori di individuare esattamente i punti in cui il modello è "confuso" o commette errori sistematici. Questo livello di dettaglio è fondamentale per affinare sistemi di sistemi di visione computerizzata (CV) complessi, come quelli costruiti con Ultralytics YOLO11.
Una matrice di confusione suddivide le previsioni di un classificatore in quattro categorie distinte, tipicamente disposte a griglia. griglia. Queste componenti aiutano a identificare se un modello soffre di specifici tipi di errore, come ad esempio "falsi allarmi" o "bersagli mancati":
Mentre le metriche generali sono utili per una visione d'insieme di alto livello, la matrice di confusione è essenziale quando si tratta di sbilanciato. Se un set di dati contiene 95 gatti e 5 cani, un modello che si limita a indovinare "gatto" ogni volta raggiunge un'accuratezza del 95%, ma è inutile per trovare i cani. ma è inutile per trovare i cani. La matrice di confusione rivelerebbe immediatamente questo fallimento mostrando zero veri positivi per la classe "cane".
Questa ripartizione serve come base per il calcolo di altre metriche di metriche di performance. Analizzando la matrice, gli ingegneri possono ricavare:
L'importanza della matrice di confusione varia a seconda dell'applicazione specifica e del "costo" dei diversi errori. diversi errori.
Il ultralytics La libreria calcola e salva automaticamente le matrici di confusione durante il processo di convalida.
processo di validazione. Ciò consente agli utenti di visualizzare le prestazioni di tutte le classi del loro set di dati.
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Validate the model on a dataset like COCO8
# This generates the confusion matrix in the 'runs/detect/val' directory
results = model.val(data="coco8.yaml")
# You can also programmatically access the matrix data
print(results.confusion_matrix.matrix)
È importante distinguere la matrice di confusione dalle metriche derivate. Mentre Accuracy, Precisione e Richiamo sono sintesi di un singolo numero, la matrice di confusione è la fonte di dati grezzi da cui vengono calcolati questi numeri. Fornisce il "quadro completo" piuttosto che un'istantanea. Inoltre, nel rilevamento degli oggetti, la matrice interagisce spesso con Intersezione su Unione (IoU) per determinare ciò che conta come vero positivo, aggiungendo un altro livello di profondità alla valutazione nei compiti di visione artificiale. compiti di computer vision.