본문 바로가기
성공지식백과 로고성공지식백과
GLOSSARY

F1 점수 (F1 Score)

중급

이 페이지는 AI 문맥에서 자주 쓰이는 F1 점수 (F1 Score)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 6개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.

F1 점수(F1 Score)는 이진 분류에서 정밀도와 재현율을 조화평균으로 결합하는 평가 지표입니다. 양성으로 고른 결과의 품질과 실제 양성을 찾아낸 정도를 함께 살필 때 씁니다. 두 값의 산술평균보다 불균형에 민감하며, 어떤 클래스를 양성으로 삼았는지와 여러 클래스의 점수를 어떻게 평균했는지에 따라 해석이 달라집니다.

두 비율을 결합하는 계산

scikit-learn의 F1 문서는 F1을 정밀도와 재현율의 조화평균으로 설명합니다. 두 지표를 각각 P와 R로 놓으면 합이 0이 아닐 때 2PR/(P+R)로 계산합니다. 정밀도는 예측 양성 중 실제 양성의 비율이고, 재현율은 실제 양성 중 찾아낸 비율입니다. 한쪽만 높고 다른 쪽이 낮으면 F1도 낮은 쪽의 영향을 크게 받습니다.

계산용 예시에서 정밀도가 1이고 재현율이 0.25이면 산술평균은 0.625지만 F1은 0.4입니다. 같은 문서의 집계식은 2TP/(2TP+FP+FN)입니다. TP는 맞힌 양성, FP는 잘못 고른 음성, FN은 놓친 양성의 수입니다. 실제 음성을 음성으로 맞힌 TN은 식에 들어가지 않으므로, 정상 사례를 얼마나 잘 통과시켰는지는 별도로 살핍니다.

클래스 평균의 계산 순서

문서 종류가 여러 개이면 각 종류를 양성으로 두고 나머지를 음성으로 보아 클래스별 F1을 계산할 수 있습니다. scikit-learn의 평균 방식 설명에 따르면 macro F1은 클래스별 F1의 단순평균입니다. 먼저 정밀도끼리 평균하고 재현율끼리 평균한 뒤 F1 공식을 적용한 값과 일반적으로 같지 않습니다. 평가표에 평균 방식이 빠지면 서로 다른 계산을 같은 점수로 비교하게 됩니다.

micro F1은 클래스별 TP·FP·FN을 먼저 합쳐 하나의 식에 넣습니다. weighted F1은 실제 클래스별 표본 수를 가중치로 각 F1을 평균합니다. 표본이 많은 종류에 유리한 모델과 적은 종류까지 고르게 맞히는 모델은 평균 방식에 따라 순서가 달라질 수 있습니다. 벤치마크 비교에서는 클래스별 값과 표본 수를 함께 남기면 전체 평균 아래 숨은 실패를 확인하기 쉽습니다.

오류 비용과 정의되지 않는 경우

평가셋에 양성이 없고 모델도 양성을 예측하지 않으면 TP·FP·FN이 모두 0이 됩니다. scikit-learn의 F1 문서는 이 경우의 기본 처리와 zero_division 설정을 안내합니다. 반환값을 채우는 규칙과 관측된 성능을 구분해야 하며, 빈 클래스가 평균에서 어떻게 처리됐는지도 기록합니다. 레이블 목록을 바꾸어 빈 클래스를 포함시키면 평균값의 의미가 달라집니다.

F1의 정밀도·재현율 비중이 같다는 말이 오탐 한 건과 미탐 한 건의 업무 비용까지 같다는 뜻은 아닙니다. 구글의 분류 지표 해설은 작업과 오류 비용에 맞춰 지표를 선택하도록 설명합니다. scikit-learn의 F-beta 문서는 beta를 1보다 크게 하면 재현율에 더 비중을 두는 방식을 제공합니다. 실제 비용을 반영하려면 지표 선택 이유도 별도로 남깁니다.

임계값을 움직여 양성 판정 수를 바꾸면 정밀도·재현율과 F1도 변합니다. 모델 평가에서는 점수를 낸 임계값, 양성 클래스, 평균 방식, 평가 데이터 구성을 함께 고정합니다. 점수가 높은 설정을 선택하는 데 반복 사용한 데이터는 최종 시험용 데이터와 역할이 달라집니다. 선택 과정과 최종 평가를 분리하면 점수 조정의 결과를 새 데이터에 대한 성능으로 오인하는 일을 줄일 수 있습니다.

RELATED TERMS

관련 용어

F1 점수 (F1 Score)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.