Accuracy
정확도는 모델이 올바르게 예측한 비율입니다. 공식, top-1 및 top-5 정확도, 불균형 데이터에서의 정확도 역설, 더 나은 지표를 다룹니다.
정확도는 모델 예측 중 정답인 비율이며, 정답 예측 수를 전체 예측 수로 나누어 계산합니다. 이미지 분류 및 입력당 라벨 하나를 사용하는 기타 지도 학습 작업에서 기본 지표로 사용되며, 모델이 얼마나 자주 맞는지라는 가장 기본적인 질문에 답합니다. 정확도는 이해하고 모델 간 비교하기 쉽지만 모든 예측에 동일한 가중치를 부여합니다. 따라서 불균형 데이터에서는 중요한 사례에 실패하는 모델도 높은 점수를 받을 수 있습니다. 이런 경우에는 정밀도와 재현율이 더 많은 정보를 제공합니다.
정확도 계산 방법#
이진 작업에서는 혼동 행렬의 네 가지 건수를 사용해 정확도 = (TP + TN) / (TP + TN + FP + FN)으로 계산합니다. 즉, 진양성과 진음성의 합을 전체 예측 수로 나눕니다. 클래스가 여러 개인 작업에서는 행렬 대각선의 합을 전체 건수로 나누며, scikit-learn의 accuracy_score는 두 레이블 배열에서 정확도를 바로 계산합니다. 정확도 대신 오류율을 보고하는 경우도 있으며, 이때 오류율 = 1 − 정확도입니다.
Top-1 및 Top-5 정확도#
클래스가 많은 분류기에서는 top-k 정확도도 보고합니다. Top-1 정확도는 가장 높은 점수를 받은 클래스가 정답 레이블일 때만 예측을 정답으로 계산하며, top-5 정확도는 정답 레이블이 점수가 가장 높은 다섯 개 클래스 중 하나일 때 정답으로 계산합니다. 사진에 여러 객체가 포함되어도 1,000개 클래스 중 하나의 레이블만 부여되었던 ImageNet 챌린지를 계기로 top-5가 표준으로 자리 잡았습니다. YOLO26 분류 모델은 두 점수를 모두 보고하며, 나노 모델 yolo26n-cls.pt은 224픽셀 ImageNet에서 top-1 정확도 71.4%, top-5 정확도 90.1%를 달성합니다.
정확도와 관련 지표 비교#
- 정밀도: 양성으로 예측한 사례 중 실제 양성인 비율입니다. 오탐이 줄어들수록 정밀도는 높아집니다.
- 재현율: 실제 양성 사례 중 모델이 찾아낸 비율입니다. 재현율은 희귀 클래스를 무시하는 모델의 문제를 드러냅니다.
- F1 점수: 정밀도와 재현율의 조화 평균으로, 두 값이 모두 높지 않으면 낮은 값을 유지합니다.
- 평균 정밀도(mAP): 객체 감지의 표준 지표입니다. 배경에는 셀 수 있는 진음성이 없고 빈 이미지 영역이 무한히 존재하므로, 객체 감지에는 정확도를 적용할 수 없습니다.
정확도 역설#
한 클래스가 압도적으로 많으면 정확도는 희귀 클래스를 무시하는 모델에 높은 점수를 줍니다. 거래의 1%가 사기라면 모든 거래를 승인하는 모델은 사기를 하나도 잡지 못하면서 정확도 99%를 기록합니다. 이러한 현상을 정확도 역설이라고 합니다. 관심 클래스가 본질적으로 드문 결함 검사, 질병 선별 검사, 이상 감지에서도 같은 함정이 나타납니다.
import numpy as np
from sklearn.metrics import accuracy_score, balanced_accuracy_score, recall_score
# 1,000 transactions, 10 of them fraudulent (label 1)
y_true = np.zeros(1000, dtype=int)
y_true[:10] = 1
# A model that labels every transaction as legitimate
y_pred = np.zeros(1000, dtype=int)
print(f"Accuracy: {accuracy_score(y_true, y_pred):.2f}")
print(f"Balanced accuracy: {balanced_accuracy_score(y_true, y_pred):.2f}")
print(f"Fraud recall: {recall_score(y_true, y_pred):.2f}")클래스별 재현율의 평균인 균형 정확도는 일반 정확도가 감추는 실패를 드러냅니다. 스크립트는 정확도 0.99, 균형 정확도 0.50, 사기 재현율 0.00을 출력합니다.










