모델의 예측 성능을 평가하는 정확도
머신러닝에서 분류 모델을 평가할 때 가장 기본적으로 사용하는 지표가 정확도(Accuracy)입니다.
머신러닝에서 정확도(Accuracy)는 모델이 전체 데이터 중에서 얼마나 정답을 맞췄는지를 나타내는 지표입니다.
즉, 모델이 얼마나 잘 예측했는지를 측정하는 방법입니다.
정확도 계산 방법
정확도는 다음 공식으로 계산됩니다.
머신러닝에서 자주 사용하는 용어를 사용하면 정확도는 다음과 같이 계산됩니다.
여기서 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%의 정확도로 예측했다고 볼 수 있습니다.
정확도의 한계
정확도는 직관적이고 간단한 평가 지표지만, 데이터가 불균형할 때 문제를 일으킬 수 있습니다.
만약 100명 중 98명이 건강하고, 2명만 환자라고 가정해 봅시다.
그런데 모델이 모든 사람을 건강하다고 예측한다면 어떻게 될까요?
이 경우 정확도는 다음과 같이 계산됩니다.
- TP = 0
- TN = 98
- FP = 0
- FN = 2
겉으로 보면 정확도가 98%로 매우 높지만, 환자를 단 한 명도 찾아내지 못한 모델입니다.
이처럼 정확도만 보고 모델을 평가하면 안 됩니다.
다음 수업에서는 정확도의 한계를 보완하는 정밀도(Precision)에 대해 알아보겠습니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!