정밀도와 재현율 (precision and recall)

컴퓨터과학·AI
한 줄 정의: 정밀도는 "모델이 맞다고 한 것 중 진짜 맞은 비율", 재현율은 "진짜 맞는 것 중 모델이 찾아낸 비율"을 나타내는 분류 성능 지표입니다.

쉽게 풀면

스팸 메일 필터를 예로 들어봅시다. 필터가 100통을 "스팸"이라고 걸렀는데 그중 80통만 진짜 스팸이었다면, 정밀도는 80%입니다(걸러낸 것 중 진짜 맞은 비율). 한편 전체 스팸이 사실 200통 있었는데 필터가 그중 80통만 찾아냈다면, 재현율은 40%입니다(진짜 스팸 중에 찾아낸 비율). 정밀도가 높으면 "오탐(잘못 거른 것)이 적다"는 뜻이고, 재현율이 높으면 "놓치는 게 적다"는 뜻입니다. 이 둘은 흔히 트레이드오프 관계에 있어서, 필터를 엄격하게 하면 정밀도는 올라가지만 재현율은 떨어지는 식입니다.

왜 중요한가

정밀도와 재현율은 분류 모델의 성능을 정확도 하나로만 판단할 때 놓치기 쉬운 함정을 드러내 주기 때문에, 데이터가 불균형하거나 오탐과 미탐의 비용이 서로 다른 실제 문제(질병 진단, 이상 탐지, 정보 검색 등)를 다루는 거의 모든 분류·검색 연구에서 기본적으로 보고되는 지표입니다. 어떤 지표를 더 중요하게 볼지는 응용 분야의 특성에 따라 달라지기 때문에, 이 두 지표를 이해하는 것은 논문이 제시하는 성능 결과를 올바르게 해석하는 데 필수적입니다.

논문에서는 이렇게 쓰입니다

"제안 모델은 테스트셋에서 정밀도 0.91, 재현율 0.87, F1-score 0.89를 기록하여 기존 방법 대비 향상된 성능을 보였다."

이 문장은 "모델이 맞다고 예측한 것의 91%가 실제로 맞았고(정밀도), 실제 정답 중 87%를 놓치지 않고 찾아냈으며(재현율), 이 두 값을 종합한 지표(F1-score)도 개선되었다"는 뜻입니다.

"의료 영상 기반 병변 검출 모델은 높은 재현율을 우선 목표로 학습되었으며, 이는 위음성으로 인한 진단 누락을 최소화하기 위함이다."

의료 진단 분야에서는 병변을 놓치는 것(위음성)이 오진(위양성)보다 훨씬 위험할 수 있어, 정밀도보다 재현율을 더 중요하게 여기는 경우가 많다는 점을 보여줍니다.

"정보검색 시스템의 상위 k개 결과에 대한 정밀도(Precision@k)를 측정하여 사용자 만족도와의 상관관계를 분석하였다."

검색엔진이나 추천시스템 분야에서는 전체가 아니라 사용자가 실제로 보게 되는 상위 몇 개 결과의 정확성이 중요하기 때문에, 상위 k개만을 대상으로 한 정밀도를 따로 측정한 예입니다.

조금 더 깊게 보면

정밀도와 재현율은 응용 분야에 따라 어느 쪽을 더 중시할지가 달라지는데, 이를 하나의 값으로 조율하고 싶을 때 두 지표의 조화평균인 F1 점수를 사용하며, 정밀도와 재현율에 서로 다른 가중치를 주고 싶을 때는 F-beta 점수를 씁니다. 또한 분류 임계값을 바꿔가며 두 지표가 어떻게 변하는지 전체적으로 보여주는 도구로 정밀도-재현율 곡선이 함께 쓰이는 경우가 많습니다. 검색이나 추천 분야에서는 순위를 고려한 변형 지표(Precision@k, Recall@k)가 흔히 사용된다는 점도 알아두면 좋습니다.

주의할 점

정확도(accuracy)만 보고 모델 성능을 판단하면 안 됩니다. 예를 들어 희귀 질병 진단처럼 정상인이 압도적으로 많은 데이터에서는 "전부 정상"이라고만 예측해도 정확도는 높게 나오지만 재현율은 0에 가깝습니다. 그래서 데이터가 알고리즘편향되어 있거나 클래스 비율이 불균형할 때는 정밀도와 재현율을 함께, 혹은 F1-score로 균형 있게 살펴봐야 합니다.

관련 용어