모델의 예측 성능을 평가하는 정확도
머신러닝에서 분류 모델을 평가할 때 가장 기본적으로 사용하는 지표가 정확도(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 강의를 등록해 주세요!