분류모델 평가지표란? 혼동행렬·정확도·정밀도·재현율·특이도·F1-Score 쉽게 이해하기
1장 분류모델 평가는 무엇을 보는가#
분류모델은 데이터를 여러 범주 가운데 하나로 나눕니다.
예를 들어 다음과 같은 문제를 생각할 수 있습니다.
- 환자인가, 정상인가
- 스팸인가, 정상 메일인가
- 구매할 것인가, 구매하지 않을 것인가
- 이상거래인가, 정상거래인가
모델이 예측을 만들었다면 다음 질문이 필요합니다.
얼마나 많이 맞혔는가?
양성이라고 예측한 것 중 실제 양성은 얼마나 되는가?
실제 양성 가운데 얼마나 많이 찾아냈는가?
이러한 질문에 답하기 위해 사용하는 것이 혼동행렬 Confusion Matrix와 분류 평가지표입니다.
2장 혼동행렬 Confusion Matrix란 무엇인가#
혼동행렬은 모델의 예측 결과와 실제값을 비교하여:
- 맞게 예측한 경우
- 잘못 예측한 경우
를 네 가지 형태로 정리한 표입니다.
기본적으로:
- TP
- TN
- FP
- FN
네 값을 사용합니다.
3장 혼동행렬의 기본 구조#
| 실제값 | 예측 Positive | 예측 Negative |
|---|---|---|
| 실제 Positive | TP | FN |
| 실제 Negative | FP | TN |
이 네 칸의 의미를 정확하게 이해하면 분류 평가지표 공식을 훨씬 쉽게 기억할 수 있습니다.
4장 TP True Positive란 무엇인가#
TP는 실제로 Positive인데 모델도 Positive라고 예측한 경우입니다.
질병검사를 예로 들면:
실제로 환자
→ 모델도 환자라고 판단
입니다.
즉 제대로 찾아냈습니다.
제공된 학습자료에서는 이를:
정탐
으로 설명합니다.
핵심#
TP = 진짜 양성을 양성이라고 맞힘
입니다.
5장 TN True Negative란 무엇인가#
TN은 실제로 Negative이고 모델도 Negative라고 예측한 경우입니다.
의료검사 사례에서는:
실제로 건강한 사람
→ 모델도 정상이라고 판단
입니다.
즉 음성 사례를 제대로 맞혔습니다.
핵심#
TN = 진짜 음성을 음성이라고 맞힘
입니다.
6장 FP False Positive란 무엇인가#
FP는 실제로 Negative인데 모델이 Positive라고 잘못 예측한 경우입니다.
의료검사 사례로 보면:
건강한 사람
→ 환자라고 판단
입니다.
제공된 학습자료에서는:
위양성 False Positive
또는 오탐
으로 설명합니다.
핵심#
FP = 없는데 있다고 판단
입니다.
7장 FN False Negative란 무엇인가#
FN은 실제로 Positive인데 모델이 Negative라고 잘못 판단한 경우입니다.
의료검사에서는:
실제로 환자
→ 정상이라고 판단
입니다.
제공된 학습자료에서는:
위음성 False Negative
또는 미탐
으로 설명합니다.
핵심#
FN = 있는데 없다고 판단
입니다.
8장 TP·TN·FP·FN을 한 번에 기억하기#
의료진단 사례로 기억하면 쉽습니다.
TP#
환자를 환자라고 함
TN#
건강한 사람을 건강하다고 함
FP#
건강한 사람을 환자라고 함
FN#
환자를 건강하다고 함
즉:
True = 맞음
False = 틀림
그리고:
Positive = 양성이라고 판단
Negative = 음성이라고 판단
입니다.
9장 정확도 Accuracy란 무엇인가#
정확도는 전체 예측 가운데 모델이 올바르게 예측한 비율입니다.
맞게 예측한 경우는:
- TP
- TN
입니다.
따라서 공식은:
Accuracy = (TP + TN) / 전체
입니다.
전체를 풀어쓰면:
Accuracy = (TP + TN) / (TP + TN + FP + FN)
입니다.
10장 정확도를 쉽게 이해하면#
100명을 진단했다고 하겠습니다.
올바르게 진단한 사람이:
90명
이라면:
정확도 = 90 / 100
= 0.9
= 90%
입니다.
즉 정확도는 가장 직관적으로:
전체 중 몇 개를 맞혔는가?
를 나타냅니다.
핵심#
Accuracy = 전체 중 맞춘 비율
입니다.
11장 정밀도 Precision란 무엇인가#
정밀도는 모델이 Positive라고 예측한 것 가운데 실제로 Positive인 비율입니다.
공식은:
Precision = TP / (TP + FP)
입니다.
즉 분모에는:
예측 Positive 전체
가 들어갑니다.
핵심#
Precision = 예측 P 중 실제 P
입니다.
12장 정밀도를 의료검사로 이해하면#
모델이:
환자입니다.
라고 판단한 사람이 20명이라고 하겠습니다.
그중 실제 환자가:
15명
건강한 사람이:
5명
이었다면:
TP = 15
FP = 5
입니다.
정밀도는:
15 / (15 + 5)
= 0.75
= 75%
입니다.
즉:
내가 환자라고 한 사람 중 실제 환자가 몇 명인가?
를 나타냅니다.
13장 정밀도는 FP와 연결된다#
정밀도 공식은:
TP / (TP + FP)
입니다.
따라서 FP가 많아지면 정밀도가 낮아집니다.
즉 정밀도가 중요한 상황에서는 위양성 False Positive를 줄이는 것이 중요합니다.
제공된 학습자료에서는:
Precision → FP 최소화 중요
라고 정리합니다.
14장 재현율 Recall이란 무엇인가#
재현율은 실제 Positive 가운데 모델이 Positive라고 제대로 찾아낸 비율입니다.
공식은:
Recall = TP / (TP + FN)
입니다.
분모는:
실제 Positive 전체
입니다.
핵심#
Recall = 실제 P 중 예측 P
입니다.
15장 재현율을 의료검사로 이해하면#
실제 환자가:
20명
있다고 하겠습니다.
이 중 모델이 제대로 환자로 찾아낸 사람이:
18명
놓친 환자가:
2명
이라면:
TP = 18
FN = 2
입니다.
재현율은:
18 / (18 + 2)
= 0.9
= 90%
입니다.
즉:
실제 환자 가운데 내가 몇 명이나 찾아냈는가?
를 나타냅니다.
16장 재현율은 FN과 연결된다#
재현율 공식은:
TP / (TP + FN)
입니다.
따라서 FN이 증가하면 재현율이 낮아집니다.
즉 실제 Positive를 놓치면 Recall이 떨어집니다.
제공된 학습자료에서는:
Recall → FN 최소화 중요
라고 정리합니다.
17장 Precision과 Recall을 구분하는 가장 쉬운 방법#
두 지표의 공식은 비슷하지만 기준이 다릅니다.
Precision#
예측을 기준으로 봅니다.
내가 Positive라고 한 것 중 진짜 Positive는?
Recall#
실제를 기준으로 봅니다.
실제 Positive 중 내가 Positive라고 찾아낸 것은?
따라서:
Precision = 예측 기준
Recall = 실제 기준
입니다.
18장 Precision과 Recall 비교표#
| 구분 | Precision | Recall |
|---|---|---|
| 기준 | 예측 Positive | 실제 Positive |
| 공식 | TP / (TP+FP) | TP / (TP+FN) |
| 중요 오류 | FP | FN |
| 질문 | 양성이라고 한 것 중 진짜 양성? | 진짜 양성 중 얼마나 찾았나? |
시험에서는 특히 분모를 바꾸어 출제하는 문제에 주의해야 합니다.
19장 정확도와 정밀도는 어떻게 다른가#
이름이 비슷해 혼동하기 쉽습니다.
정확도 Accuracy#
전체 예측을 기준으로 합니다.
공식:
(TP + TN) / 전체
정밀도 Precision#
Positive라고 예측한 것만 기준으로 합니다.
공식:
TP / (TP + FP)
즉:
Accuracy = 전체 중 맞춘 비율
Precision = 양성 예측의 신뢰도
라고 기억하면 됩니다.
20장 특이도 Specificity란 무엇인가#
특이도는 실제 Negative 가운데 모델이 Negative라고 제대로 예측한 비율입니다.
공식은:
Specificity = TN / (TN + FP)
입니다.
즉:
실제 정상인 사람 중 얼마나 제대로 정상이라고 판단했는가?
를 보는 지표입니다.
핵심#
Specificity = 실제 Negative를 제대로 찾는 능력
입니다.
21장 Recall과 Specificity를 비교하면#
Recall은 실제 Positive를 기준으로 합니다.
Recall = TP / (TP + FN)
Specificity는 실제 Negative를 기준으로 합니다.
Specificity = TN / (TN + FP)
따라서:
Recall = 실제 양성을 찾는 능력
Specificity = 실제 음성을 찾는 능력
으로 구분할 수 있습니다.
22장 F1-Score란 무엇인가#
F1-Score는 Precision과 Recall을 함께 고려하는 지표입니다.
제공된 학습자료에서는 다음 공식으로 정리합니다.
F1 = 2 × (Precision × Recall) / (Precision + Recall)
가장 중요한 점은:
조화평균 Harmonic Mean
이라는 것입니다.
23장 F1은 산술평균이 아니다#
시험에서 자주 나오는 함정입니다.
F1-Score는 정밀도와 재현율의 산술평균이다.
틀립니다.
F1은 조화평균입니다.
즉 단순히:
(Precision + Recall) / 2
로 계산하지 않습니다.
핵심#
F1 = 조화평균
입니다.
24장 왜 F1은 Precision과 Recall을 함께 보는가#
어떤 모델이 있다고 하겠습니다.
Precision은 매우 높은데 Recall이 아주 낮습니다.
이 모델은 Positive라고 예측한 경우에는 거의 맞지만 실제 Positive를 많이 놓칠 수 있습니다.
반대로 Recall은 높지만 Precision이 낮다면 실제 Positive는 많이 찾아내지만 FP가 많이 발생할 수 있습니다.
F1은 이 두 지표를 함께 고려합니다.
제공된 학습자료에서는:
두 지표가 모두 높아야 F1도 높아진다
고 설명합니다.
25장 F1 계산 예제#
Precision = 0.8
Recall = 0.6
이라고 하겠습니다.
공식에 대입하면:
F1 = 2 × (0.8 × 0.6) / (0.8 + 0.6)
= 0.96 / 1.4
≈ 0.686
입니다.
단순 산술평균:
0.7
과 값이 다릅니다.
따라서 F1은 반드시 공식에 따라 계산해야 합니다.
26장 Precision과 Recall이 같으면 F1은 어떻게 되는가#
제공된 학습자료에서 자주 출제되는 내용입니다.
Precision과 Recall이 같은 값을 가진다면 F1도 같은 값이 됩니다.
예를 들어:
Precision = 0.8
Recall = 0.8
이면:
F1 = 2 × (0.8×0.8) / (0.8+0.8)
= 1.28 / 1.6
= 0.8
입니다.
27장 혼동행렬 계산 예제#
다음 결과가 있다고 하겠습니다.
TP = 40
TN = 45
FP = 5
FN = 10
전체는:
40 + 45 + 5 + 10
= 100
입니다.
이 값을 이용해 각 지표를 계산해보겠습니다.
28장 정확도 계산#
TP = 40
TN = 45
전체 = 100
이므로:
Accuracy = (40 + 45) / 100
= 85 / 100
= 0.85
즉 정확도는:
85%
입니다.
29장 Precision 계산#
TP = 40
FP = 5
이므로:
Precision = 40 / (40 + 5)
= 40 / 45
≈ 0.889
입니다.
즉 Positive라고 예측한 것 가운데 약 88.9%가 실제 Positive였습니다.
30장 Recall 계산#
TP = 40
FN = 10
이므로:
Recall = 40 / (40 + 10)
= 40 / 50
= 0.8
입니다.
즉 실제 Positive의 80%를 모델이 찾아냈습니다.
31장 Specificity 계산#
TN = 45
FP = 5
이므로:
Specificity = 45 / (45 + 5)
= 45 / 50
= 0.9
입니다.
즉 실제 Negative의 90%를 제대로 Negative라고 분류했습니다.
32장 F1 계산#
Precision ≈ 0.889
Recall = 0.8
이라고 하겠습니다.
그러면:
F1 = 2 × (0.889×0.8) / (0.889+0.8)
≈ 0.842
정도가 됩니다.
이처럼 하나의 혼동행렬에서 여러 평가지표를 계산할 수 있습니다.
33장 의료검사에서 FP가 중요한 상황#
어떤 검사에서 FP가 많이 발생한다고 하겠습니다.
즉 실제 건강한 사람을 환자로 많이 판단합니다.
그러면 불필요한:
- 추가 검사
- 비용
- 불안
- 치료
가 발생할 수 있습니다.
이런 상황에서는 Precision과 FP를 함께 보는 것이 중요할 수 있습니다.
제공된 학습자료에서는:
Precision → FP 최소화
로 연결합니다.
34장 의료검사에서 FN이 중요한 상황#
반대로 매우 위험한 질병 검사에서 실제 환자를 정상이라고 놓치면 심각한 문제가 발생할 수 있습니다.
이는 FN입니다.
이런 경우 실제 환자를 최대한 많이 찾아야 하므로 Recall이 중요합니다.
제공된 학습자료에서는:
Recall → FN 최소화
로 연결합니다.
35장 FP와 FN을 암기하는 방법#
FP False Positive#
실제는 Negative
그런데 Positive라고 예측
→ 없는 것을 있다고 함
FN False Negative#
실제는 Positive
그런데 Negative라고 예측
→ 있는 것을 없다고 함
앞에서 가설검정에서 학습한 개념과도 연결할 수 있습니다.
False Positive → 제1종 오류
False Negative → 제2종 오류
로 기억하면 구조를 이해하기 쉽습니다.
36장 Accuracy만 높으면 좋은 모델인가#
제공된 학습자료에서는 이번 부분에서 Accuracy의 정의 자체를 중심으로 설명합니다.
Accuracy는:
전체 가운데 맞게 예측한 비율
입니다.
그러나 Precision·Recall·Specificity·F1처럼 서로 다른 관점의 지표가 존재하므로 시험에서는 각 지표가 어떤 질문에 답하는지 구분하는 것이 중요합니다.
특히 Precision과 Recall의 분모를 바꾸어 묻는 문제가 자주 출제됩니다.
37장 평가지표를 질문으로 기억하기#
공식을 통째로 외우기 어렵다면 질문으로 기억하면 쉽습니다.
Accuracy#
전체에서 얼마나 맞았나?
Precision#
내가 Positive라고 한 것 중 진짜 Positive는?
Recall#
실제 Positive 중 얼마나 찾아냈나?
Specificity#
실제 Negative 중 얼마나 제대로 Negative라고 했나?
F1#
Precision과 Recall을 동시에 얼마나 잘 만족하나?
이렇게 질문으로 기억하면 공식을 복원하기 쉽습니다.
38장 ADsP 시험에서 자주 헷갈리는 함정#
함정 1. Precision은 실제 Positive 중 Positive로 예측한 비율이다#
틀립니다.
그것은 Recall입니다.
Precision은 예측 Positive 중 실제 Positive입니다.
함정 2. Recall은 Positive라고 예측한 것 중 실제 Positive 비율이다#
틀립니다.
그것은 Precision입니다.
함정 3. Accuracy는 TP / (TP + FP)이다#
틀립니다.
그것은 Precision입니다.
Accuracy는:
(TP + TN) / 전체
입니다.
함정 4. Specificity는 TP / (TP + FN)이다#
틀립니다.
그것은 Recall입니다.
Specificity는:
TN / (TN + FP)
입니다.
함정 5. F1은 Precision과 Recall의 산술평균이다#
틀립니다.
조화평균입니다.
함정 6. FP는 환자를 정상으로 판단한 경우다#
틀립니다.
그것은 FN입니다.
FP는 정상인을 환자로 판단한 경우입니다.
함정 7. FN은 건강한 사람을 환자로 판단한 경우다#
틀립니다.
그것은 FP입니다.
FN은 환자를 건강하다고 판단한 경우입니다.
39장 혼동행렬 시험 직전 암기#
| 실제 \ 예측 | Positive | Negative |
|---|---|---|
| Positive | TP | FN |
| Negative | FP | TN |
암기하면:
대각선 TP·TN = 맞음
반대쪽 FP·FN = 틀림
입니다.
40장 Accuracy 시험 직전 암기#
공식:
Accuracy = (TP + TN) / 전체
의미:
전체 중 맞춘 비율
따라서:
맞은 것 = TP + TN
이라고 기억합니다.
41장 Precision 시험 직전 암기#
공식:
Precision = TP / (TP + FP)
의미:
예측 Positive 중 실제 Positive
연결:
FP 최소화 중요
암기:
Precision = 내가 양성이라 한 사람 기준
입니다.
42장 Recall 시험 직전 암기#
공식:
Recall = TP / (TP + FN)
의미:
실제 Positive 중 Positive로 예측한 비율
연결:
FN 최소화 중요
암기:
Recall = 실제 양성을 얼마나 찾아냈나
입니다.
43장 Specificity 시험 직전 암기#
공식:
Specificity = TN / (TN + FP)
의미:
실제 Negative 중 Negative로 예측한 비율
따라서:
Specificity = 실제 음성을 제대로 찾는 능력
입니다.
44장 F1-Score 시험 직전 암기#
공식:
F1 = 2 × Precision × Recall / (Precision + Recall)
의미:
Precision과 Recall의 조화평균
가장 중요한 함정:
산술평균 X
조화평균 O
입니다.
45장 분류 평가지표 핵심 비교표#
| 지표 | 공식 | 기준 |
|---|---|---|
| Accuracy | (TP+TN) / 전체 | 전체 예측 |
| Precision | TP / (TP+FP) | 예측 Positive |
| Recall | TP / (TP+FN) | 실제 Positive |
| Specificity | TN / (TN+FP) | 실제 Negative |
| F1 | 2PR / (P+R) | Precision + Recall |
이 표는 ADsP 시험 직전 반드시 익혀두는 것이 좋습니다.
분류모델 평가 FAQ#
혼동행렬이란 무엇인가#
실제 클래스와 모델이 예측한 클래스를 비교하여 TP·TN·FP·FN 네 가지 경우로 정리한 표입니다.
TP란 무엇인가#
실제 Positive를 Positive라고 올바르게 예측한 경우입니다.
TN이란 무엇인가#
실제 Negative를 Negative라고 올바르게 예측한 경우입니다.
FP란 무엇인가#
실제 Negative를 Positive라고 잘못 예측한 경우입니다.
FN이란 무엇인가#
실제 Positive를 Negative라고 잘못 예측한 경우입니다.
Accuracy 공식은 무엇인가#
(TP + TN) / (TP + TN + FP + FN)
입니다.
Precision 공식은 무엇인가#
TP / (TP + FP)
입니다.
Recall 공식은 무엇인가#
TP / (TP + FN)
입니다.
Specificity 공식은 무엇인가#
TN / (TN + FP)
입니다.
F1-Score 공식은 무엇인가#
2 × Precision × Recall / (Precision + Recall)
입니다.
Precision과 Recall의 가장 큰 차이는 무엇인가#
Precision은 예측 Positive를 기준으로 하고 Recall은 실제 Positive를 기준으로 합니다.
FP를 줄이는 것과 직접 연결되는 지표는 무엇인가#
제공된 학습자료에서는 Precision과 연결합니다.
FN을 줄이는 것과 직접 연결되는 지표는 무엇인가#
제공된 학습자료에서는 Recall과 연결합니다.
F1은 어떤 평균인가#
Precision과 Recall의 조화평균입니다.
Precision과 Recall이 같은 값이면 F1은 어떻게 되는가#
제공된 학습자료 기준 F1도 같은 값이 됩니다.
자기 점검#
다음 질문에 바로 답할 수 있는지 확인해봅니다.
- TP·TN·FP·FN을 각각 설명할 수 있는가?
- 환자를 환자라고 판단한 것이 무엇인지 알고 있는가?
- 건강한 사람을 환자로 판단한 것이 무엇인지 알고 있는가?
- 환자를 정상이라고 판단한 것이 무엇인지 알고 있는가?
- Accuracy 공식을 기억하고 있는가?
- Precision 공식을 기억하고 있는가?
- Recall 공식을 기억하고 있는가?
- Specificity 공식을 기억하고 있는가?
- Precision과 Recall의 분모를 구분할 수 있는가?
- FP가 Precision과 연결된다는 것을 알고 있는가?
- FN이 Recall과 연결된다는 것을 알고 있는가?
- F1 공식을 기억하고 있는가?
- F1이 조화평균이라는 것을 알고 있는가?
- Precision과 Recall이 같으면 F1도 같은 값이라는 것을 알고 있는가?
- 정확도와 정밀도를 서로 구분할 수 있는가?
이 글을 마치며#
분류모델 평가의 출발점은 TP·TN·FP·FN을 정확하게 구분하는 것입니다.
의료검사를 기준으로 보면:
TP = 환자를 환자라고 함
TN = 건강한 사람을 건강하다고 함
FP = 건강한 사람을 환자라고 함
FN = 환자를 건강하다고 함
입니다.
이 네 값을 이용하여 주요 지표를 계산합니다.
Accuracy
→ 전체 중 얼마나 맞혔는가
Precision
→ Positive라고 예측한 것 중 얼마나 진짜 Positive인가
Recall
→ 실제 Positive 중 얼마나 찾아냈는가
Specificity
→ 실제 Negative 중 얼마나 제대로 Negative라고 했는가
F1
→ Precision과 Recall의 조화평균
시험 직전에는 다음 다섯 줄로 압축해서 기억하면 됩니다.
Accuracy = (TP+TN) / 전체
Precision = TP / (TP+FP) = 예측 P 기준
Recall = TP / (TP+FN) = 실제 P 기준
Specificity = TN / (TN+FP) = 실제 N 기준
F1 = Precision과 Recall의 조화평균