-
Precision-Recall Curve 와 Average Precision(AP)AI 2026. 1. 20. 07:56
머신러닝 모델의 성능을 평가할 때, 단순히 Accuracy(정확도)만으로는 부족한 경우가 많습니다. 특히 데이터가 불균형할 때 유용하게 쓰이는 Precision-Recall(PR) Curve와 그 면적을 의미하는 AP(Average Precision)에 대해 알아보겠습니다.
Threshold
임계값은 모델의 '출력값(확률)'을 '분류 결과(0 또는 1)'로 변환하는 필터이며, 이 필터를 통과해서 나온 결과물들을 센 것이 바로 TP, FP, FN, TN입니다. 그리고 이 4가지 숫자를 조합해서 우리가 흔히 말하는 정밀도(Precision), 재현율(Recall), 정확도(Accuracy)를 계산하는 것이죠.
임계값을 낮추는 경우 (예: 0.5 → 0.1)
- 상황: "10점만 넘으면 다 합격(양성)이야!"라고 기준을 대폭 낮춘 것입니다.
- TP(맞힌 양성) 증가: 기준이 낮으니 진짜 양성인 애들이 통과하기 쉬워집니다. 당연히 더 많이 잡아내겠죠?
- FP(틀린 양성) 증가: 문제는 실제로는 음성(0)인 애들도 기준이 너무 낮다 보니 "나도 양성인가?" 하고 휩쓸려 들어오게 됩니다.
- 결과: 바구니에 '양성'으로 분류된 데이터가 가득 차기 때문에, 상대적으로 '음성'은 비게 됩니다. 그래서 FN(놓친 양성)과 TN(맞힌 음성)은 줄어듭니다, 그래서 Recall은 올라감
임계값을 높이는 경우 (예: 0.5 → 0.9)
- 상황: "90점 넘는 진짜 확실한 애들만 합격시켜!"라고 아주 까다롭게 구는 것입니다.
- TP(맞힌 양성) 감소: 진짜 양성 중에서도 점수가 애매한(예: 70점) 애들은 탈락합니다.
- FP(틀린 양성) 감소: 기준이 워낙 높으니 가짜들이 들어올 틈이 없습니다. "틀릴 바엔 양성이라고 안 하겠다"는 전략이죠.
- 결과:
대부분의 데이터가 '음성' 바구니로 던져집니다. 그래서 FN(양성인데 음성이라 함)과 TN(진짜 음성)이 늘어납니다.
Precision이 올라감
임계값은 언제 정하나요?
보통 모델 훈련이 완전히 끝난 후에 사람이 정합니다. (Post-processing 단계)
- 훈련된 모델에 검증 데이터를 넣어서 0~1 사이의 확률값들을 쭉 뽑아냅니다.
- 0.1부터 0.9까지 임계값을 바꿔가며 Precision-Recall 곡선이나 ROC 곡선을 그려봅니다.
- 서비스의 목적에 따라 최적의 임계값을 선택합니다.
- 암 진단 모델: 암 환자를 놓치면 안 되므로(Recall 중요), 임계값을 낮게 잡습니다.
- 스팸 메일 필터: 멀쩡한 메일이 스팸함에 가면 안 되므로(Precision 중요), 임계값을 높게 잡습니다.
참고: 물론 0.5가 기본값(Default)으로 가장 많이 쓰이긴 합니다. 하지만 데이터가 불균형하거나 특수 목적이 있다면 반드시 직접 최적의 값을 찾아야 합니다.
Precision-Recall Curb란?
PR 커브는 분류 모델의 임계값(Threshold)을 변화시킴에 따라 정밀도(Precision)와 재현율(Recall)이 어떻게 변하는지를 시각화한 그래프입니다.
💡 핵심 개념: 트레이드오프(Trade-off)
- Precision (정밀도): 모델이 '양성'이라고 예측한 것 중 실제 '양성'인 비율. (틀리지 않는 것이 중요)
- Recall (재현율): 실제 '양성'인 것 중 모델이 '양성'이라고 맞춘 비율. (놓치지 않는 것이 중요)
임계값을 낮추면 모델은 더 많은 데이터를 양성으로 예측하므로 Recall은 올라가지만, Precision은 떨어지게 됩니다. 반대로 임계값을 높이면 Precision은 올라가지만, Recall은 떨어집니다.

위 그래프에서 곡선이 오른쪽 상단 (1, 1) 지점에 가까울수록, 두 지표를 모두 높게 유지하는 아주 우수한 모델이라고 할 수 있습니다.
AP (Average Precision)의 의미
PR 커브는 모델의 전반적인 성능을 보여주지만, 여러 모델을 하나의 숫자로 비교하기는 어렵습니다.
그래서, Threshold 값에 무관하게 모델의 전체적인 성능을 평가하는 방법으로 커브 아래의 면적(Area Under Curve)을 계산하는데, 이를 AP(Average Precision)라고 부릅니다.수식 이해하기
$$AP = \sum_{n} (R_n - R_{n-1})P_n$$이 수식은 복잡해 보이지만 알고 보면 단순한 직사각형 면적의 합입니다.
- $(R_n - R_{n-1})$: Recall의 변화량 (가로 길이)
- $P_n$: 해당 지점에서의 Precision (세로 높이)
임계값(Threshold)의 변화를 모두 아우르는 지표
모델은 보통 0에서 1 사이의 확률값을 내놓습니다. 우리가 "0.5 이상이면 양성(Positive)"이라고 기준(Threshold)을 정할 때마다 Precision과 Recall 값은 변합니다.
- 특정 한 점(예: Threshold 0.5)에서의 성능만 보면, 그 기준이 조금만 바뀌었을 때 모델이 얼마나 망가지는지 알 수 없습니다.
- AP는 모든 가능한 임계값에 대해 모델이 보여준 Precision과 Recall의 궤적을 합친 것입니다. 즉, "어떤 기준을 적용하더라도 이 모델은 평균적으로 이 정도의 성능을 낸다"는 것을 보장합니다.
"높은 정밀도"와 "높은 재현율"을 동시에 유지하는 능력
좋은 모델은 재현율(Recall)을 높이기 위해 더 많은 데이터를 양성으로 예측하면서도, 그 과정에서 정밀도(Precision)가 급격히 떨어지지 않아야 합니다.
- 면적이 넓다(AP가 높다): 모델이 정답을 많이 찾아내면서도(High Recall), 틀린 답을 내놓는 실수(Low Precision)를 적게 범하고 있다는 뜻입니다.
- 면적이 좁다(AP가 낮다): 모델이 정답을 조금만 더 찾으려 해도 금방 엉뚱한 답을 섞어서 내놓는다는 의미입니다.
따라서 AP 수치는 모델이 정답에 대해 부여하는 확신(Confidence score)이 얼마나 논리적으로 타당한지를 보여주는 척도가 됩니다.
데이터 불균형(Imbalanced Data) 상황에서의 객관성
일반적인 '정확도(Accuracy)'는 데이터의 99%가 음성인 경우, 무조건 "음성"이라고만 대답해도 99%가 나옵니다. 하지만 AP는 다릅니다.
- AP는 '양성(Positive) 클래스'를 얼마나 잘 맞히느냐에 집중합니다.
- 희귀 질병 진단이나 사기 탐지처럼 '진짜를 찾아내는 것'이 중요한 문제에서, 모델이 얼마나 쓸모 있는지 단 하나의 숫자로 요약해 줍니다.

즉, Recall(0에서 1까지)이 변할 때마다 그때의 Precision 값을 곱해서 면적을 차곡차곡 더해가는 과정입니다.
결국 "이 모델은 정답을 찾아가는 과정 내내 얼마나 정확했는가?"를 묻는 것이며, 이 값이 1에 가까울수록 임계값 변화에 상관없이 꾸준히 좋은 성능을 내는 모델입니다.'AI' 카테고리의 다른 글
Overfitting과 Regularization (0) 2026.01.21 분류 모델의 성능 성적표, ROC 곡선과 AUC (0) 2026.01.20 Confusion Matrix 와 Precision/Recall (0) 2026.01.20 Loss, Accuracy and Metric (0) 2026.01.20 오차와 편차의 차이부터 RMSE의 진짜 의미까지 (0) 2026.01.19