F1 점수 (F1 Score)

통계
한 줄 정의: 정밀도와 재현율을 하나로 합쳐, 두 값이 모두 낮으면 낮게 나오도록 계산한 분류 성능 평가 지표입니다.

쉽게 풀면

정밀도(맞다고 한 것 중 진짜 맞은 비율)와 재현율(진짜 맞는 것 중 찾아낸 비율)은 종종 한쪽을 올리면 다른 쪽이 떨어지는 관계에 있습니다. 예를 들어 스팸 메일 필터가 의심스러운 메일을 전부 스팸으로 분류하면 재현율은 높아지지만, 정상 메일까지 스팸으로 잘못 거르면서 정밀도는 떨어집니다. F1 점수는 이 두 값의 "조화평균"을 구해서, 어느 한쪽만 유독 낮아도 전체 점수가 크게 깎이도록 설계된 지표입니다. 그래서 정밀도와 재현율을 동시에 균형 있게 잘 내야 F1 점수가 높게 나옵니다.

왜 중요한가

F1 점수는 클래스 불균형이 심한 데이터(예: 정상 사례가 대다수이고 이상 사례가 극소수인 경우)에서 정확도(accuracy)만으로는 성능을 제대로 판단하기 어려운 상황을 보완해주기 때문에, 자연어처리의 개체명 인식, 의료영상 진단, 이상 탐지, 정보검색 등 분류·검색 성능을 다루는 논문에서 표준 지표로 폭넓게 쓰입니다. 여러 모델을 하나의 숫자로 비교할 수 있어 벤치마크 논문에서 대표 성능지표로 자주 채택됩니다.

계산과 범위

혼동행렬의 TP(진양성), FP(위양성), FN(위음성)에서 계산합니다.

정밀도 P = TP / (TP + FP), 재현율 R = TP / (TP + FN)
F1 = 2PR / (P + R) = 2TP / (2TP + FP + FN)

작은 예. 1,000건 중 실제 양성 60건에서 모델이 50건을 양성으로 예측해 TP = 40, FP = 10, FN = 20, TN = 930이라면 P = 40/50 = .80, R = 40/60 ≈ .67, F1 = 2 × 40 / (80 + 10 + 20) ≈ .73입니다. 정확도는 (40 + 930)/1,000 = .97로 훨씬 높게 나오는데, 음성이 대부분이라 정확도가 후하게 나오기 때문입니다.

해석 기준

F1에는 Cohen의 d나 카파처럼 널리 합의된 등급표가 없습니다. 논문에서 보이는 “0.8 이상이면 양호” 같은 말은 분야와 과제에 따라 달라지는 관행일 뿐이며, 같은 F1이라도 양성 비율(유병률)과 과제 난이도에 따라 의미가 전혀 다릅니다. 따라서 문턱값 대신 비교 기준을 세워서 읽습니다.

비교 기준설명
모두 양성으로 예측하는 모델양성 비율이 π일 때 F1 = 2π/(1 + π). 예: 양성 4%이면 약 0.08. 이보다 확실히 높아야 합니다.
모두 음성으로 예측하는 모델진양성이 없으므로 F1 = 0 (정확도는 높게 나올 수 있음)
선행 연구·기존 방법같은 자료·같은 분할에서 비교한 값이어야 의미가 있음
사람 평가자 간 일치사람끼리의 일치도가 모델 성능의 현실적 상한인 경우가 많음

클래스가 둘 이상이면 평균 방식에 따라 값이 달라집니다. 매크로 F1(클래스별 F1의 단순 평균)은 작은 클래스를 똑같이 중시하고, 마이크로 F1(전체 TP·FP·FN을 합쳐 계산, 단일 레이블 다중분류에서는 정확도와 같음)은 큰 클래스가 지배하며, 가중 F1은 클래스 크기로 가중 평균합니다.

보고 방법

F1 하나만 적지 말고 혼동행렬 또는 정밀도·재현율을 함께 싣고, 어느 클래스를 양성으로 봤는지, 다중분류라면 평균 방식(macro/micro/weighted)을 밝힙니다. 교차검증을 썼다면 평균과 변동(표준편차)도 적습니다. (수치는 위의 작은 예입니다.)

시험 집합(n = 1,000)에서 양성 클래스의 정밀도는 .80, 재현율은 .67, F1은 .73이었다(TP = 40, FP = 10, FN = 20, TN = 930).

한국어 논문에서는 “정밀도, 재현율, F1-score로 성능을 비교하였다”처럼 표로 모델별 값을 나란히 싣는 형식이 흔합니다. 이때 분류 문턱값(보통 0.5)을 바꾸면 정밀도·재현율·F1이 모두 달라지므로, 문턱값을 어떻게 정했는지와 검증 집합을 따로 썼는지도 한 줄 적어 두는 것이 좋습니다. 데이터가 매우 불균형하면 F1과 함께 AUC나 마튜스 상관계수(MCC)를 보고하는 연구도 많습니다.

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

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"제안 모델은 정밀도 0.81, 재현율 0.78을 기록했으며, 이를 종합한 F1 점수는 0.79로 기존 방법(F1 0.71)보다 높았다."

이 문장은 정밀도와 재현율을 각각 따로 보고하는 대신, 두 값을 하나로 합친 F1 점수로 모델 간 전체적인 분류 성능을 간단히 비교하고 있다는 뜻입니다.

"개체명 인식 태스크에서 제안 모델은 매크로 평균 F1 점수 0.87을 달성하여 기존 베이스라인 대비 성능 향상을 보였다."

자연어처리에서는 여러 개체명 범주에 대한 F1 점수를 평균낸 매크로 F1을 이용해 모델 전체 성능을 요약한다는 뜻입니다.

"악성 종양 탐지 모델의 F1 점수는 0.92로, 클래스 불균형이 심한 데이터셋에서도 안정적인 분류 성능을 보였다."

의료영상 분석에서는 정상 사례가 훨씬 많은 불균형 데이터에서도 F1 점수로 모델의 실질적인 탐지 능력을 평가한다는 의미입니다.

조금 더 깊게 보면

F1 점수는 정밀도와 재현율에 동일한 가중치(1:1)를 두는 것이 기본형이지만, 재현율을 더 중요하게 보는 F2 점수처럼 가중치를 조정한 F베타(F-beta) 점수도 목적에 따라 사용됩니다. 클래스가 여러 개인 다중분류 문제에서는 각 클래스별 F1을 단순 평균하는 매크로(macro) F1, 클래스 크기를 반영해 가중 평균하는 가중(weighted) F1, 전체 예측을 합산해 계산하는 마이크로(micro) F1 중 어떤 방식을 썼는지에 따라 값이 달라질 수 있어 논문에서 이를 명시하는 것이 중요합니다.

주의할 점

F1 점수는 정밀도와 재현율에 같은 가중치를 두고 계산한 값이므로, 연구 목적상 둘 중 하나(예: 암 진단에서는 재현율)가 훨씬 더 중요한 경우에는 F1 점수 하나만으로 모델을 평가하면 오히려 판단을 그르칠 수 있습니다. 이런 경우에는 민감도와 특이도처럼 각 지표를 따로 확인하는 것이 더 적절합니다.

헷갈리기 쉬운 용어

분류 성능 지표는 이름이 비슷하고, 같은 대상을 다른 이름으로 부르기도 합니다.

지표계산특징
정확도(TP + TN) / 전체음성이 많으면 후하게 나옴, 불균형 자료에 취약
정밀도TP / (TP + FP)양성이라고 한 것 중 진짜 양성 비율
재현율 = 민감도TP / (TP + FN)진짜 양성 중 찾아낸 비율. 의학에서는 ‘민감도’(민감도와 특이도)
F1 점수2PR / (P + R)정밀도와 재현율의 조화평균, TN을 보지 않음
F-measureFβ 계열의 총칭F1은 β = 1인 특수한 경우
AUCROC 곡선 아래 면적문턱값과 무관하게 순위 능력을 평가

참고 문헌

  1. van Rijsbergen, C. J. (1979). Information Retrieval (2nd ed.). Butterworths.
  2. Sokolova, M., & Lapalme, G. (2009). A systematic analysis of performance measures for classification tasks. Information Processing & Management, 45(4), 427–437.
  3. Powers, D. M. W. (2011). Evaluation: From precision, recall and F-measure to ROC, informedness, markedness and correlation. Journal of Machine Learning Technologies, 2(1), 37–63.
  4. Chicco, D., & Jurman, G. (2020). The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation. BMC Genomics, 21, 6.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

관련 용어