AI·인공지능

정밀도·재현율·F1 점수 이해하기 | AI 분류 성능을 읽는 방법

2026-10-19 00:39
정밀도·재현율·F1 점수 이해하기 | AI 분류 성능을 읽는 방법 representative image

AI 분류 모델의 성능을 제대로 읽으려면 정확도 하나보다 정밀도, 재현율, F1 점수를 함께 확인해야 합니다. 특히 스팸 탐지, 이상 거래 탐지, 질병 분류처럼 거짓양성과 거짓음성의 비용이 다른 문제에서는 어떤 지표를 우선할지 먼저 정해야 합니다.


📌 핵심 5줄 요약

1. 정밀도는 모델이 양성이라고 예측한 것 중 실제 양성의 비율입니다.

2. 재현율은 실제 양성 중 모델이 양성으로 찾아낸 비율입니다.

3. F1 점수는 정밀도와 재현율의 조화평균으로, 두 지표 중 하나가 낮으면 함께 낮아집니다.

4. 정확도는 클래스 불균형이 심할 때 높게 보이더라도 모델이 유용하다는 뜻이 아닐 수 있습니다.

5. 지표 선택은 숫자 크기보다 거짓양성과 거짓음성 중 어떤 오류가 더 비싼지에 따라 결정해야 합니다.


📌 목차

01 | 먼저 혼동행렬부터 이해하기

02 | 정밀도는 무엇을 측정하나

03 | 재현율은 무엇을 측정하나

04 | F1 점수는 왜 필요한가

05 | 세 지표의 계산 공식

06 | 정확도만 보면 위험한 이유

07 | 정밀도와 재현율의 상충관계

08 | 임계값이 지표를 바꾸는 방식

09 | 어떤 지표를 우선해야 하나

10 | 이진분류 결과 읽는 법

11 | 다중분류 평균 방식 비교

12 | 클래스 불균형과 평가 데이터

13 | 실제 평가 절차와 체크 포인트

14 | 자주 하는 해석 실수


01 | 먼저 혼동행렬부터 이해하기

정밀도·재현율·F1 점수는 모두 혼동행렬의 네 가지 결과에서 계산됩니다. 이진분류에서는 모델의 예측과 실제 정답을 비교해 참양성, 참음성, 거짓양성, 거짓음성으로 나눕니다.

구분의미
참양성(TP)실제로 양성이고 양성으로 예측한 경우
참음성(TN)실제로 음성이고 음성으로 예측한 경우
거짓양성(FP)실제로 음성인데 양성으로 예측한 경우
거짓음성(FN)실제로 양성인데 음성으로 예측한 경우

예를 들어 스팸 메일 분류에서 스팸을 양성으로 정하면, 정상 메일을 스팸으로 잘못 분류한 것은 거짓양성이고 스팸을 정상 메일로 놓친 것은 거짓음성입니다.


02 | 정밀도는 무엇을 측정하나

정밀도는 모델이 양성이라고 판단한 결과가 얼마나 믿을 만한지를 나타냅니다. 공식은 정밀도 = TP ÷ (TP + FP)입니다.

정밀도가 높다는 것은 양성 판정을 내렸을 때 틀릴 가능성이 낮다는 뜻입니다. 추천 시스템에서 실제로 관심 있을 만한 상품만 상위에 보여주거나, 사기 거래로 분류한 건이 실제 사기일 가능성을 높이고 싶을 때 중요합니다.

반대로 정밀도가 낮으면 양성 판정에 거짓양성이 많이 섞입니다. 알림이 너무 자주 울려 담당자가 무시하게 되는 이상 탐지 시스템이 대표적인 예입니다.


03 | 재현율은 무엇을 측정하나

재현율은 실제 양성 사례를 모델이 얼마나 빠짐없이 찾아내는지를 보여줍니다. 공식은 재현율 = TP ÷ (TP + FN)입니다.

재현율이 높으면 실제 양성을 놓치는 거짓음성이 적습니다. 질병 위험군 선별, 침입종 탐지, 보안 위협 탐지처럼 놓치는 비용이 큰 상황에서는 재현율이 핵심 기준이 될 수 있습니다. 재현율은 참양성률 또는 민감도라고도 부릅니다.

다만 재현율만 높이려고 양성 판정을 지나치게 넓히면 음성 사례까지 양성으로 분류하는 거짓양성이 늘어날 수 있습니다.


04 | F1 점수는 왜 필요한가

F1 점수는 정밀도와 재현율을 하나의 값으로 요약한 지표입니다. 두 값의 단순 평균이 아니라 조화평균을 사용하므로 어느 한쪽이 지나치게 낮을 때 높은 점수를 받기 어렵습니다.

F1 = 2 × 정밀도 × 재현율 ÷ (정밀도 + 재현율)이며, 혼동행렬로 표현하면 F1 = 2TP ÷ (2TP + FP + FN)입니다. 정밀도와 재현율이 비슷할 때 F1은 두 값에 가까워지고, 둘 사이의 차이가 커질수록 더 낮은 쪽의 영향을 크게 받습니다.

따라서 F1 점수는 거짓양성과 거짓음성을 모두 줄이고 싶은 분류 문제에서 유용합니다. 그러나 업무상 한쪽 오류가 훨씬 중요하다면 F1만 최적화하는 것은 적절하지 않을 수 있습니다.


05 | 세 지표의 계산 공식

지표공식확인하는 질문
정밀도TP ÷ (TP + FP)양성이라고 한 것 중 실제 양성은 얼마나 되나?
재현율TP ÷ (TP + FN)실제 양성을 얼마나 놓치지 않았나?
F1 점수2PR ÷ (P + R)정밀도와 재현율의 균형이 좋은가?

여기서 P는 정밀도, R은 재현율입니다. 세 지표 모두 일반적으로 0과 1 사이의 값으로 표시하거나 0에서 100% 사이의 비율로 표시합니다. 단, 비교할 때는 소수와 백분율을 혼동하지 않아야 합니다.


06 | 정확도만 보면 위험한 이유

정확도는 전체 예측 중 맞힌 비율로, (TP + TN) ÷ (TP + TN + FP + FN)으로 계산합니다. 전체적인 예측 성공률을 빠르게 확인하는 데는 유용하지만, 특정 클래스가 압도적으로 많은 데이터에서는 오해를 만들 수 있습니다.

예를 들어 전체 데이터에서 음성 사례가 대부분이면 모델이 거의 모든 대상을 음성으로 예측해도 정확도가 높게 나올 수 있습니다. 하지만 실제 양성을 하나도 찾지 못한다면 탐지 모델로서는 쓸모가 없을 수 있습니다. Google도 클래스 불균형 데이터에서는 정확도보다 정밀도와 재현율이 더 유용할 수 있다고 설명합니다.


07 | 정밀도와 재현율의 상충관계

정밀도와 재현율은 자주 서로 반대 방향으로 움직입니다. 모델이 양성이라고 판단하는 기준을 엄격하게 만들면 거짓양성이 줄어 정밀도는 올라갈 수 있지만, 실제 양성을 놓치는 거짓음성이 늘어 재현율은 낮아질 수 있습니다.

반대로 기준을 느슨하게 하면 더 많은 양성을 찾아 재현율이 높아질 수 있지만, 음성까지 양성으로 분류해 정밀도가 낮아질 수 있습니다. 따라서 “정밀도가 높은 모델” 또는 “재현율이 높은 모델”이라는 말만으로 우수성을 단정해서는 안 됩니다. 두 모델을 비교할 때는 같은 데이터와 같은 평가 조건에서 두 지표를 함께 봐야 합니다.


08 | 임계값이 지표를 바꾸는 방식

많은 분류 모델은 먼저 각 입력에 대해 양성일 확률이나 점수를 계산한 뒤, 일정한 임계값을 기준으로 최종 클래스를 결정합니다. 이 임계값을 바꾸면 같은 모델이라도 정밀도·재현율·F1 점수가 달라집니다.

임계값을 높이면 양성 판정이 어려워져 거짓양성이 줄어드는 대신 거짓음성이 늘어날 수 있습니다. 임계값을 낮추면 더 많은 양성을 포착하지만 거짓양성이 증가할 수 있습니다. 그러므로 평가 보고서에는 가능하면 사용한 임계값과 그 기준을 함께 기록해야 합니다.


09 | 어떤 지표를 우선해야 하나

상황우선 검토할 지표이유
양성 판정의 신뢰성이 중요함정밀도거짓양성을 줄이는 것이 중요하기 때문
실제 양성을 놓치면 큰 문제가 발생함재현율거짓음성을 줄이는 것이 중요하기 때문
두 오류를 모두 고려해야 함F1 점수정밀도와 재현율의 균형을 보기 때문
클래스 비율이 비슷하고 전체 성공률이 중요함정확도와 보조 지표전체 예측 결과를 함께 평가할 수 있기 때문

예를 들어 스팸 필터에서 정상 메일을 스팸으로 보내는 일이 특히 심각하다면 정밀도를 우선할 수 있습니다. 반대로 위험 신호를 놓치는 것이 더 큰 문제라면 재현율을 우선하고, 그 과정에서 허용 가능한 거짓양성 수준을 별도로 정해야 합니다.


10 | 이진분류 결과 읽는 법

이진분류 결과를 볼 때는 양성 클래스를 무엇으로 정의했는지 먼저 확인해야 합니다. 같은 데이터라도 “정상”을 양성으로 정할지 “이상”을 양성으로 정할지에 따라 정밀도와 재현율의 해석이 달라집니다.

그다음에는 각 지표와 함께 TP, FP, FN, TN의 규모를 확인합니다. 정밀도 0.90이라는 값도 양성 예측이 충분히 많을 때와 극히 적을 때 의미가 다를 수 있습니다. 지표만 보지 말고 지원 표본 수, 즉 해당 클래스의 실제 사례 수를 함께 확인해야 합니다.


11 | 다중분류 평균 방식 비교

클래스가 둘 이상인 다중분류에서는 클래스별 정밀도·재현율·F1 점수를 계산한 뒤 전체 점수를 평균내는 방식이 중요합니다.

평균 방식특징적합한 상황
매크로 평균각 클래스의 점수를 동일한 비중으로 평균소수 클래스 성능도 같은 중요도로 보고 싶을 때
가중 평균각 클래스의 실제 표본 수를 반영해 평균클래스별 데이터 규모를 반영하고 싶을 때
마이크로 평균전체 클래스의 TP·FP·FN을 합산해 계산전체 예측 결과를 하나로 평가할 때

매크로 평균은 드문 클래스의 성능 저하를 숨기지 않는 장점이 있습니다. 반면 가중 평균은 많은 표본을 가진 클래스의 영향을 크게 받습니다. 사이킷런의 분류 리포트는 클래스별 지표와 함께 매크로 평균, 가중 평균 등을 제공하며, 마이크로 평균은 문제 유형에 따라 정확도와 같은 값이 될 수 있어 표시 조건이 달라집니다.


12 | 클래스 불균형과 평가 데이터

클래스 불균형은 한 클래스의 사례가 다른 클래스보다 훨씬 많은 상태입니다. 이때 전체 정확도나 가중 평균만 보면 소수 클래스의 실패가 감춰질 수 있습니다.

평가 데이터에는 실제 운영 환경에서 발생할 클래스 비율과 가능한 한 비슷한 사례가 포함되어야 합니다. 또한 학습 데이터와 평가 데이터가 중복되거나, 평가 정답을 만드는 과정에서 특정 조건이 누락되면 지표가 실제 성능을 과대평가할 수 있습니다.

모델을 배포하기 전에는 전체 평균뿐 아니라 클래스별 재현율, 혼동행렬, 주요 사용자 집단별 성능을 함께 점검해야 합니다. 전체 지표가 좋아도 특정 집단에서 성능이 낮을 수 있다는 점도 고려해야 합니다.


13 | 실제 평가 절차와 체크 포인트

첫째, 양성과 음성의 정의를 문서화합니다. 둘째, 거짓양성과 거짓음성 중 어느 오류의 비용이 큰지 정합니다. 셋째, 평가 데이터에서 혼동행렬을 만들고 정밀도·재현율·F1 점수를 계산합니다.

넷째, 여러 임계값에서 지표가 어떻게 변하는지 확인합니다. 다섯째, 하나의 평균값이 클래스별 성능을 가리지 않는지 검토합니다. 마지막으로 모델을 선택한 뒤에도 운영 데이터에서 성능이 유지되는지 주기적으로 재평가해야 합니다.

파이썬의 사이킷런을 사용한다면 classification_report로 클래스별 정밀도, 재현율, F1 점수와 평균값을 확인할 수 있습니다. 다만 보고서의 평균 방식과 양성 클래스 설정을 먼저 이해해야 숫자를 올바르게 해석할 수 있습니다.


14 | 자주 하는 해석 실수

F1 점수가 높으면 항상 좋은 모델인가요?

아닙니다. F1은 정밀도와 재현율의 균형을 보여주는 지표일 뿐입니다. 실제 서비스에서는 특정 오류가 훨씬 치명적일 수 있으므로 필요한 최소 정밀도나 최소 재현율을 먼저 정한 뒤 F1을 보조 기준으로 활용해야 합니다.

정밀도와 재현율 중 하나만 보면 되나요?

대부분의 경우 하나만 보면 부족합니다. 정밀도만 높고 재현율이 낮으면 양성 판정은 신중하지만 많은 사례를 놓칠 수 있고, 재현율만 높으면 경고가 과도하게 발생할 수 있습니다.

F1 점수와 정밀도·재현율의 평균은 같은가요?

같지 않습니다. F1은 조화평균이므로 두 값 중 낮은 값의 영향을 더 크게 받습니다. 특히 다중분류에서 “매크로 F1”은 클래스별 F1을 평균한 값이며, 평균 정밀도와 평균 재현율을 먼저 구한 뒤 그 둘의 조화평균을 계산한 값과 다를 수 있습니다.

정확도가 높으면 정밀도와 재현율도 높은가요?

반드시 그렇지는 않습니다. 클래스 불균형이 있으면 다수 클래스를 잘 맞히는 것만으로 정확도가 높아질 수 있습니다. 따라서 정확도는 정밀도, 재현율, F1 점수와 함께 확인해야 합니다.


☑ 체크리스트

  • 양성 클래스를 무엇으로 정의했는지 확인했는가?
  • TP·TN·FP·FN의 의미를 업무 상황에 맞게 정리했는가?
  • 정확도만 보지 않고 정밀도와 재현율을 함께 확인했는가?
  • 거짓양성과 거짓음성 중 어떤 오류가 더 큰 손실을 만드는지 정했는가?
  • 평가에 사용한 임계값을 기록했는가?
  • 다중분류라면 매크로·마이크로·가중 평균을 구분했는가?
  • 클래스별 표본 수와 운영 환경의 데이터 분포를 확인했는가?

📝 마무리

정밀도는 양성 예측의 신뢰도, 재현율은 실제 양성을 찾는 능력, F1 점수는 두 기준의 균형을 보여줍니다. 어떤 지표가 가장 높은지를 묻기보다 업무상 허용할 수 있는 거짓양성과 거짓음성의 수준을 먼저 정하고, 혼동행렬과 클래스별 결과까지 함께 읽는 것이 올바른 평가 방법입니다.

#정밀도 #재현율 #F1점수 #AI분류 #분류모델 #머신러닝 #인공지능 #모델평가 #분류성능 #정확도 #혼동행렬 #참양성 #참음성 #거짓양성 #거짓음성 #이진분류 #다중분류 #다중레이블 #클래스불균형 #임계값 #정밀도재현율상충 #매크로평균 #마이크로평균 #가중평균 #분류리포트 #사이킷런 #모델검증 #머신러닝지표 #AI평가지표