혼동 행렬이 분류 성능을 평가하는 방법을 알아보세요. 진양성(TP), 거짓양성(FP), 진음성(TN), 거짓음성(FN)을 탐구하여 Ultralytics 모델의 정확도를 최적화하세요.
혼동 행렬은 출력이 두 개 이상의 클래스가 될 수 있는 머신러닝 분류 문제의 성능 측정 도구입니다. 예측값과 실제값의 네 가지 조합을 나타내는 표로, 모델 평가 시 데이터 시각화의 기초 요소 역할을 합니다. 데이터셋이 불균형할 경우 오해의 소지가 있는 단순 정확도와 달리, 혼동 행렬은 컴퓨터 비전(CV) 모델이 오류를 범하는 지점을 세분화하여 분석합니다. 개발자는 예측값과 실제 라벨을 비교함으로써 시스템이 두 특정 클래스를 혼동하는지, 아니면 detect 완전히 detect 못하는지 판단할 수 있습니다.
이 행렬 자체는 이진 분류를 위해 일반적으로 네 개의 사분면으로 나뉘지만, Ultralytics 같은 다중 클래스 문제에서는 확장됩니다. 이 네 가지 구성 요소는 모델이 예측한 내용과 이미지에 실제로 존재하는 내용의 교차점을 나타냅니다.
혼동 행렬의 원시 수치는 모델 성능을 설명하는 고급 지표를 계산하는 데 사용됩니다. 이러한 파생값을 이해하는 것은 신경망 최적화에 필수적입니다.
혼동 행렬로 정의된 오류의 구체적인 비용은 다양한 산업 분야에서 모델을 조정하는 방식을 결정한다.
의료 분야에서의 의료 AI 분야에서에서 혼동 행렬은 안전성의 문제입니다. detect 위한 의료 영상 분석 모델을 훈련할 때, 거짓 음성(종양을 놓치는 경우)은 거짓 양성(의사 검토를 위해 양성 부위를 표시하는 경우)보다 훨씬 더 심각합니다. 따라서 엔지니어들은 잠재적인 건강 위험이 간과되지 않도록 이러한 행렬에서 정밀도보다 재현율을 우선시합니다.
반대로, 제조 품질 관리에서는에서는 효율성이 핵심이다. 조립 라인 부품을 분류하는 시스템이 너무 많은 오탐(양호한 부품을 불량으로 표시)을 발생시키면 불필요한 낭비를 초래하고 생산 속도를 늦춘다. 여기서 혼동 행렬은 엔지니어가 정밀도를 극대화하도록 모델을 조정하는 데 도움을 주어, 실제로 불량인 것만 거부되도록 보장함으로써 자동화된 머신러닝워크플로를 간소화한다.
현대적인 프레임워크를 사용할 때, 이 행렬 생성은 종종 표준 검증 파이프라인의 일부입니다. 아래 예시는
YOLO26 모델 그리고 혼동 행렬 데이터에 접근하기 위해
사용하는 ultralytics 패키지입니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# This automatically generates and plots the confusion matrix
metrics = model.val(data="coco8.yaml")
# Access the confusion matrix object directly
print(metrics.confusion_matrix.matrix)
혼동 행렬을 유사한 평가 용어와 구분하는 것이 중요하다.