본문으로 건너뛰기
실습하기

모델의 예측 성능을 평가하는 정확도

머신러닝에서 분류 모델을 평가할 때 가장 기본적으로 사용하는 지표가 정확도(Accuracy)입니다.

머신러닝에서 정확도(Accuracy)는 모델이 전체 데이터 중에서 얼마나 정답을 맞췄는지를 나타내는 지표입니다.

즉, 모델이 얼마나 잘 예측했는지를 측정하는 방법입니다.


정확도 계산 방법

정확도는 다음 공식으로 계산됩니다.

Accuracy=올바르게 예측한 개수전체 데이터 개수\text{Accuracy} = \frac{\text{올바르게 예측한 개수}}{\text{전체 데이터 개수}}

머신러닝에서 자주 사용하는 용어를 사용하면 정확도는 다음과 같이 계산됩니다.

Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}

여기서 T(True)는 특정한 속성, 특징, 또는 목표로 하는 상태가 존재한다는 것을 뜻하며, F(False)는 존재하지 않는 것을 의미합니다.

여기서 각 용어의 의미는 다음과 같습니다.


TP (True Positive, 진양성)

실제로 양성이며, 모델이 양성으로 예측한 경우입니다.

예: 암 진단 모델이 실제 암 환자를 정확히 암으로 판별한 경우


TN (True Negative, 진음성)

실제로 음성이며, 모델이 음성으로 예측한 경우입니다.

예: 암 진단 모델이 실제 암이 없는 사람을 정확히 암이 없다고 판별한 경우


FP (False Positive, 가양성)

실제로는 음성이지만, 모델이 양성으로 잘못 예측한 경우입니다.

예: 암 진단 모델이 실제로 암이 없는 사람을 암이 있다고 잘못 진단한 경우


FN (False Negative, 가음성)

실제로는 양성이지만, 모델이 음성으로 잘못 예측한 경우

예: 암 진단 모델이 실제로 암 환자를 암이 없다고 잘못 진단한 경우


이를 표로 정리하면 다음과 같습니다.

실제 값모델의 예측용어의미
양성 (암 있음)양성 (암 있음)True Positive (TP)실제 암 환자를 정확히 암이라고 판별
음성 (암 없음)음성 (암 없음)True Negative (TN)암이 없는 사람을 정확히 암 없음으로 판별
음성 (암 없음)양성 (암 있음)False Positive (FP, 가양성)암이 없는 사람을 암 있다고 오진
양성 (암 있음)음성 (암 없음)False Negative (FN, 가음성)암 환자를 암 없다고 오진

예를 들어 머신러닝 모델이 100개의 데이터를 예측했을 때, 다음과 같은 결과가 나왔다고 가정해 보겠습니다.

  • TP = 40
  • TN = 50
  • FP = 5
  • FN = 5

이 경우 해당 머신러닝 모델은 90%의 정확도로 예측했다고 볼 수 있습니다.

Accuracy=40+5040+50+5+5=90100=90%\text{Accuracy} = \frac{40 + 50}{40 + 50 + 5 + 5} = \frac{90}{100} = 90\%

정확도의 한계

정확도는 직관적이고 간단한 평가 지표지만, 데이터가 불균형할 때 문제를 일으킬 수 있습니다.

만약 100명 중 98명이 건강하고, 2명만 환자라고 가정해 봅시다.

그런데 모델이 모든 사람을 건강하다고 예측한다면 어떻게 될까요?

이 경우 정확도는 다음과 같이 계산됩니다.

  • TP = 0
  • TN = 98
  • FP = 0
  • FN = 2
Accuracy=98100=98%\text{Accuracy} = \frac{98}{100} = 98\%

겉으로 보면 정확도가 98%로 매우 높지만, 환자를 단 한 명도 찾아내지 못한 모델입니다.

이처럼 정확도만 보고 모델을 평가하면 안 됩니다.

다음 수업에서는 정확도의 한계를 보완하는 정밀도(Precision)에 대해 알아보겠습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!