#개념

정밀도(Precision)와 재현율(Recall)은 분류(Classification) 모델, 특히 "양성(positive)"과 "음성(negative)"을 구분하는 이진 분류기의 성능을 평가하는 가장 기본적인 지표 쌍이다. 두 지표는 모두 혼동 행렬(Confusion Matrix)에서 계산된다.
혼동 행렬은 실제 레이블과 예측 레이블의 조합에 따라 예측 결과를 네 가지로 나눈 표로, 다음과 같이 구성된다.
혼동 행렬의 네 가지 값
  • 참 양성(True Positive, TP): 실제 양성을 양성으로 맞춘 경우다.
  • 거짓 양성(False Positive, FP): 실제 음성을 양성으로 잘못 예측한 경우다.
  • 거짓 음성(False Negative, FN): 실제 양성을 음성으로 놓친 경우다.
  • 참 음성(True Negative, TN): 실제 음성을 음성으로 맞춘 경우다.
정밀도는 모델이 양성이라고 예측한 것 가운데 실제로 양성인 비율로 $\text{Precision} = \frac{TP}{TP + FP}$로 정의되며, "양성 예측이 얼마나 믿을 만한가"를 나타낸다. 재현율은 실제 양성 가운데 모델이 양성으로 찾아낸 비율로 $\text{Recall} = \frac{TP}{TP + FN}$로 정의되며, "실제 양성을 얼마나 빠짐없이 찾아내는가"를 나타낸다. 재현율은 민감도(Sensitivity) 또는 참 양성률(True Positive Rate, TPR)이라고도 불리며, 정밀도는 정보 검색 분야에서 유래하여 양성 예측도(Positive Predictive Value, PPV)라고도 한다.
정확도(Accuracy)는 $\frac{TP + TN}{TP + TN + FP + FN}$으로 전체 예측 중 맞춘 비율을 재지만, 양성이 1%에 불과한 클래스 불균형(Class Imbalance) 데이터에서는 모든 샘플을 음성으로 예측하는 쓸모없는 모델도 99%의 정확도를 얻는다. 정밀도와 재현율은 둘 다 참 음성(TN)을 계산에 포함하지 않으므로, 다수 클래스인 음성의 양에 영향을 받지 않고 소수 클래스인 양성에 대한 성능을 그대로 드러낸다는 점에서 불균형 데이터 평가의 출발점이 된다.
정밀도와 재현율은 일반적으로 상충 관계(Trade-off)에 있다. 대부분의 분류기는 각 샘플에 대해 양성일 확률이나 점수를 출력하고, 이 값이 결정 임계값(Decision Threshold)(기본값은 보통 0.5)을 넘으면 양성으로 판정한다. 임계값을 높이면 확신이 높은 샘플만 양성으로 예측하므로 거짓 양성이 줄어 정밀도는 올라가지만, 애매한 실제 양성을 놓쳐 거짓 음성이 늘고 재현율은 내려간다. 반대로 임계값을 낮추면 재현율은 올라가지만 정밀도는 떨어진다.
극단적으로 모든 샘플을 양성으로 예측하면 재현율은 1이 되지만 정밀도는 양성 비율 수준으로 떨어지고, 가장 확실한 하나만 양성으로 예측하면 정밀도는 1에 가깝지만 재현율은 0에 가까워진다. 따라서 두 지표는 반드시 함께 보고해야 하며, 모델 자체를 바꾸지 않고 임계값만 조정해도 운영 목적에 맞게 두 지표의 균형을 옮길 수 있다.
하나의 숫자로 요약하기 위해 가장 널리 쓰이는 것이 정밀도와 재현율의 조화 평균(Harmonic Mean)인 F1 점수(F1 Score)로, $F_1 = \frac{2 \cdot \text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} = \frac{2TP}{2TP + FP + FN}$으로 계산된다. 산술 평균이 아닌 조화 평균을 쓰는 이유는 두 값 중 하나가 매우 낮으면 전체 값도 낮아지도록 하여, 한쪽 지표만 극단적으로 높이는 편법을 막기 위해서다. 예를 들어 정밀도 1.0, 재현율 0.1이면 산술 평균은 0.55이지만 F1은 약 0.18에 불과하다.
재현율과 정밀도의 중요도가 다를 때는 일반화된 $F_\beta$ 점수를 사용하며, $F_\beta = (1 + \beta^2) \cdot \frac{\text{Precision} \cdot \text{Recall}}{\beta^2 \cdot \text{Precision} + \text{Recall}}$로 정의된다. $\beta > 1$이면 재현율을, $\beta < 1$이면 정밀도를 더 중시하며, 실무에서는 재현율을 두 배로 중시하는 $F_2$와 정밀도를 중시하는 $F_{0.5}$가 자주 쓰인다. 최적 임계값은 보통 검증 데이터에서 F1이나 $F_\beta$, 또는 거짓 양성과 거짓 음성의 비용을 반영한 기대 비용이 최적이 되는 지점으로 선택하며, 테스트 데이터로 임계값을 고르면 성능이 낙관적으로 추정되므로 주의해야 한다.
임계값을 0에서 1까지 변화시키며 각 지점의 (재현율, 정밀도)를 그린 것이 정밀도-재현율 곡선(Precision-Recall Curve, PR 곡선)이다. 곡선이 오른쪽 위 모서리(정밀도 1, 재현율 1)에 가까울수록 좋은 모델이며, 임계값에 무관하게 모델의 순위 매기기(ranking) 능력을 평가할 수 있다.
곡선 아래 면적을 요약한 지표가 평균 정밀도(Average Precision, AP)로, scikit-learn은 $\text{AP} = \sum_n (R_n - R_{n-1}) P_n$처럼 재현율 증가분에 해당 정밀도를 곱해 합산하는 방식으로 계산한다. PR 곡선은 재현율이 증가할 때 정밀도가 반드시 단조 감소하지 않고 톱니 모양으로 출렁이므로, 선형 보간으로 면적을 구하면 과대평가될 수 있어 보간 방식에 주의해야 한다.
객체 탐지(Object Detection) 분야에서는 클래스별 AP를 평균한 mAP(mean Average Precision)가 표준 지표이며, 예측 박스와 정답 박스의 IoU(Intersection over Union)가 0.5 이상일 때 참 양성으로 간주하는 mAP@0.5나 IoU 임계값을 0.5부터 0.95까지 바꿔가며 평균하는 COCO 방식의 mAP@[.5:.95]가 사용된다.
정밀도-재현율 곡선과 자주 비교되는 것이 ROC 곡선(Receiver Operating Characteristic Curve)이다. ROC 곡선은 거짓 양성률 $\text{FPR} = \frac{FP}{FP + TN}$을 가로축, 참 양성률(재현율)을 세로축으로 그리며, 그 아래 면적인 AUC(Area Under the Curve)는 무작위로 뽑은 양성 샘플이 음성 샘플보다 높은 점수를 받을 확률로 해석된다.
그러나 FPR의 분모에는 음성 전체가 들어가므로 음성이 압도적으로 많은 불균형 데이터에서는 거짓 양성이 수천 개 늘어도 FPR이 거의 변하지 않아 ROC 곡선과 AUC가 지나치게 낙관적으로 보인다. 반면 정밀도는 거짓 양성 수에 직접 반응하므로 같은 모델이라도 PR 곡선은 훨씬 낮게 그려진다.
Davis와 Goadrich(2006)는 ROC 공간에서 한 곡선이 다른 곡선을 지배하면 PR 공간에서도 지배하지만 두 공간에서 최적화 목표는 다르다는 사실을 수학적으로 보였고, Saito와 Rehmsmeier(2015)는 불균형 데이터에서 PR 곡선이 ROC 곡선보다 더 많은 정보를 담는다는 점을 실험으로 확인했다. 또한 ROC 곡선의 무작위 기준선은 항상 대각선이지만, PR 곡선의 기준선은 양성 비율 $\frac{P}{P + N}$에 따라 달라지므로 양성 비율이 다른 데이터셋 간에 AP를 직접 비교해서는 안 된다.
클래스가 셋 이상인 다중 클래스 분류에서는 각 클래스를 양성으로, 나머지를 음성으로 두고 클래스별 정밀도와 재현율을 계산한 뒤 이를 하나로 합치는 평균 방식을 선택해야 한다. 대표적인 평균 방식은 다음과 같다.
다중 클래스 평균 방식
  • 매크로 평균(Macro Average): 클래스별 지표를 단순 평균하여 모든 클래스를 동등하게 취급하므로 희소 클래스의 성능이 그대로 반영된다.
  • 마이크로 평균(Micro Average): 전체 클래스의 TP, FP, FN을 먼저 합산한 뒤 지표를 계산하므로 샘플 수가 많은 클래스가 결과를 지배하며, 단일 레이블 다중 클래스 문제에서는 마이크로 정밀도·재현율·F1이 모두 정확도와 같아진다.
  • 가중 평균(Weighted Average): 클래스별 지표를 각 클래스의 실제 샘플 수(support)로 가중 평균한 것으로, 클래스 불균형을 반영하면서도 클래스별 정밀도와 재현율의 차이를 유지한다.
  • 샘플 평균(Samples Average): 하나의 샘플이 여러 레이블을 가질 수 있는 다중 레이블 분류에서 샘플별로 지표를 구해 평균하는 방식이다.
정보 검색과 추천 시스템(Recommender System)에서는 전체 후보 중 상위 $K$개만 사용자에게 노출되므로 상위 $K$개 안에서만 지표를 계산한다. Precision@K는 상위 $K$개 결과 중 관련 항목의 비율, Recall@K는 전체 관련 항목 중 상위 $K$개 안에 포함된 비율이며, 관련 항목이 $K$보다 많으면 Recall@K는 1에 도달할 수 없고 $K$보다 적으면 Precision@K가 1에 도달할 수 없다는 구조적 한계가 있다.
순위 정보까지 반영하기 위해 관련 항목이 등장할 때마다의 Precision@k를 평균한 AP@K와 이를 사용자 전체에 걸쳐 평균한 MAP@K, 순위가 낮을수록 할인 가중치를 주는 NDCG@K 등이 함께 쓰인다.
어느 지표를 우선할지는 거짓 양성과 거짓 음성의 비용이 어느 쪽이 큰지에 따라 결정된다. 분야별 우선 지표는 다음과 같다.
분야별 우선 지표
  • 의료 진단: 암 선별 검사나 감염병 검사에서는 환자를 놓치는 거짓 음성이 치명적이므로 재현율(민감도)을 우선하고, 양성 판정자는 정밀도가 높은 2차 정밀 검사로 걸러내는 단계적 설계를 택한다.
  • 신용카드 사기 탐지: 사기 거래가 전체의 0.1% 수준인 극단적 불균형 문제로, 사기를 놓치면 직접 금전 손실이 발생하지만 정상 거래를 지나치게 차단하면 고객 이탈과 조사 인력 비용이 발생하므로 조사 가능한 건수에 맞춰 임계값을 설정하고 PR-AUC로 모델을 비교한다.
  • 스팸 필터: 정상 메일이 스팸함으로 들어가는 거짓 양성이 스팸을 놓치는 것보다 사용자에게 훨씬 해롭기 때문에 정밀도를 우선한다.
  • 법률 문서 검토·전자 증거 개시(e-discovery): 관련 문서를 빠뜨리지 않아야 하므로 재현율이 핵심 지표가 된다.
  • 검색 엔진: 첫 페이지에서는 상위 결과의 품질이 중요하므로 Precision@K가 핵심 지표가 된다.
실무에서 정밀도와 재현율을 평가할 때는 몇 가지 함정에 유의해야 한다. 어느 클래스를 양성으로 지정하느냐에 따라 값이 완전히 달라지므로 양성 클래스를 명시해야 하고, 학습 데이터로 임계값을 정하거나 테스트 데이터가 학습에 섞여 들어가는 데이터 누수(Data Leakage)가 있으면 두 지표가 모두 과대평가된다. 또 양성 비율이 운영 환경에서 변하면 재현율은 유지되어도 정밀도는 크게 달라지므로, 배포 후에도 혼동 행렬을 지속적으로 모니터링해야 한다.
결론적으로 정밀도와 재현율은 단순한 두 숫자가 아니라 문제의 비용 구조를 모델 평가에 반영하는 언어이며, 임계값 조정과 F1·$F_\beta$, PR 곡선, 다중 클래스 평균 방식, Precision@K와 같은 확장을 통해 분류·탐지·검색·추천 전반에서 모델 평가 지표(Model Evaluation Metrics)의 근간을 이룬다.

#관련 용어

혼동 행렬
실제 레이블과 예측 레이블의 조합에 따라 예측 결과를 참 양성, 거짓 양성, 거짓 음성, 참 음성으로 집계한 표
F1 점수
정밀도와 재현율의 조화 평균으로 두 지표를 하나의 값으로 요약한 지표
결정 임계값
모델이 출력한 확률이나 점수를 양성과 음성으로 나누는 기준값으로, 정밀도와 재현율의 균형을 조절하는 수단
ROC 곡선
임계값을 변화시키며 거짓 양성률과 참 양성률의 관계를 그린 곡선으로, 아래 면적인 AUC로 요약된다
모델 평가 지표
학습된 모델의 예측 성능을 정량적으로 측정하기 위한 지표의 총칭
분류
입력 데이터를 미리 정의된 범주 중 하나로 할당하는 지도 학습 문제

#직무 연관도

DA
Data Analyst
높음
모델 성능 보고서를 해석하고 거짓 양성과 거짓 음성의 비즈니스 비용을 비교하여 어떤 지표를 우선할지 판단하는 데 직접 사용된다
DS
Data Scientist
밀접
분류·탐지·검색·추천 모델의 성능을 평가하고 임계값을 선택하며, 불균형 데이터에서 올바른 지표를 고르는 데 필수적인 핵심 개념
DE
Data Engineer
보통
모델 배포 후 혼동 행렬 기반 지표를 모니터링하고, 서비스 요구에 맞는 임계값을 설정·운영하는 데 활용된다

#사용 사례

의료금융인터넷 서비스전자상거래제조통신
개요
정밀도와 재현율은 질병 선별 검사, 사기·이상 거래 탐지, 스팸·악성 콘텐츠 필터링, 제조 불량 검출, 검색 결과와 추천 목록의 품질 평가, 객체 탐지 모델의 mAP 산출 등 양성 클래스를 찾아내는 모든 분류·탐지·검색 과제의 성능 평가에 사용된다.
사례
신용카드 사기 탐지 모델에서 거래 10만 건 중 사기가 100건일 때, 임계값 0.5에서 사기 60건을 잡고 정상 거래 40건을 오탐했다면 정밀도는 60%, 재현율은 60%가 된다. 조사팀이 하루 200건까지 검토할 수 있다면 임계값을 낮춰 재현율을 90%로 높이는 대신 정밀도가 45%로 떨어지는 지점을 선택하고, 이 과정을 PR 곡선 위에서 결정한다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.