AI 모델의 성능을 투명하게 보여주는 지도, 혼동 행렬(Confusion Matrix)
혼동 행렬(Confusion Matrix)은 머신러닝 분류 모델이 예측한 결과와 실제 정답이 얼마나 일치하는지, 혹은 어디에서 '혼동'하고 있는지를 한눈에 파악하기 위해 사용하는 표입니다. 단순히 "맞았다/틀렸다"라는 정확도(Accuracy)만으로는 알 수 없는 모델의 세부적인 성능 지표를 제공합니다.
혼동 행렬의 4가지 핵심 구성 요소
혼동 행렬은 실제 데이터의 값과 모델이 예측한 값을 기준으로 4가지 영역으로 나뉩니다. 'Positive(양성)'를 찾고자 하는 대상, 'Negative(음성)'를 그 반대로 설정합니다.
- TP (True Positive): 실제 Positive인 것을 모델이 Positive라고 올바르게 맞춘 경우 (정답)
- TN (True Negative): 실제 Negative인 것을 모델이 Negative라고 올바르게 맞춘 경우 (정답)
- FP (False Positive): 실제는 Negative인데 모델이 Positive라고 틀리게 예측한 경우 (1종 오류)
- FN (False Negative): 실제는 Positive인데 모델이 Negative라고 틀리게 예측한 경우 (2종 오류)
왜 정확도(Accuracy)만으로는 부족할까?
예를 들어, 100명 중 1명만 환자인 질병을 진단하는 AI가 있다고 가정해 보겠습니다. 이 AI가 무조건 "모두 정상입니다"라고만 답해도 정확도는 99%가 나옵니다. 하지만 정작 중요한 '환자 1명'을 찾아내지 못했으므로 좋은 모델이라 할 수 없습니다. 이때 혼동 행렬을 보면 모델이 환자를 놓치고 있다는 사실(FN 발생)을 명확히 알 수 있습니다.
혼동 행렬로 계산하는 4대 성능 지표
혼동 행렬의 수치들을 조합하면 모델의 성격에 맞는 다양한 지표를 계산할 수 있습니다.
| 지표 | 계산 공식 | 설명 |
|---|---|---|
| 정확도 (Accuracy) | (TP + TN) / 전체 | 전체 중 맞춘 비율 (가장 일반적인 지표) |
| 정밀도 (Precision) | TP / (TP + FP) | 모델이 양성이라 한 것 중 진짜 양성인 비율 (스팸 메일 차단 등) |
| 재현율 (Recall) | TP / (TP + FN) | 실제 양성인 것들 중 모델이 찾아낸 비율 (암 진단 등) |
| F1-Score | 정밀도와 재현율의 조화평균 | 두 지표가 균형을 이루는지 확인할 때 사용 |
실전 예시: 스팸 메일 필터링 vs 암 진단 AI
모델의 목적에 따라 중요하게 생각해야 할 지표가 달라집니다.
- 스팸 메일 필터링 (정밀도 중시): 중요한 비즈니스 메일(Negative)을 스팸(Positive)으로 오해해서 휴지통으로 보내면 안 됩니다. 즉, FP(1종 오류)를 줄이는 것이 핵심입니다.
- 암 진단 AI (재현율 중시): 실제 암 환자(Positive)를 정상(Negative)으로 진단하여 치료 시기를 놓치게 하면 치명적입니다. 즉, FN(2종 오류)을 줄여 재현율을 높이는 것이 최우선입니다.
혼동 행렬 활용 시 시사점
혼동 행렬은 모델을 개선할 방향을 제시합니다. 만약 특정 클래스에서 FP가 유독 높다면, 모델이 해당 클래스의 특징을 오해하고 있다는 뜻이므로 데이터를 보강하거나 임계값(Threshold)을 조정하는 등의 전략을 세울 수 있습니다.
'AI Tech' 카테고리의 다른 글
| pandas의 pivot, pivot_table, groupby 비교 (0) | 2026.02.09 |
|---|---|
| Google Antigravity Agent Skills (에이전트 스킬) (0) | 2026.02.06 |
| AI의 새로운 진화, '에이전트'가 바꾸는 우리의 일상 (1) | 2026.02.01 |
| 제미나이와 로컬 PC를 잇는 MCP 서버 구축하기 (0) | 2026.02.01 |
| AI와 외부 데이터의 연결 고리, MCP(Model Context Protocol) (0) | 2026.02.01 |