
F1 스코어가 중요한 이유, 실무에서 바로 쓰는 비법
정확도와 재현율 사이의 균형을 정량화하는 F1 스코어는 모델 평가에서 놓치기 쉬운 오류를 드러내며, 실제 비즈니스 현장에서 의사결정을 돕는 핵심 지표입니다.
머신러닝 모델을 실제 서비스에 적용하려고 할 때, 가장 먼저 마주치는 질문은 ‘이 모델이 정말 좋은가?’ 입니다. 정확도(Accuracy)만으로는 긍정·부정이 불균형한 데이터셋에서 모델의 진짜 실력을 파악하기 어렵습니다. 이때 등장하는 것이 바로 F1 스코어이며, 정확도와 재현율(Recall)의 조화로운 평균을 통해 모델이 놓치는 오류를 한눈에 보여줍니다. 하지만 많은 실무자는 F1 스코어의 의미와 활용법을 제대로 이해하지 못해 잘못된 판단을 내리곤 합니다.
F1 스코어란 무엇인가?
F1 스코어는 정밀도(Precision)와 재현율의 조화 평균(Harmonic Mean)으로 정의됩니다. 수식으로는 F1 = 2 * (Precision * Recall) / (Precision + Recall)이며, 0에서 1 사이의 값을 가집니다. 1에 가까울수록 양쪽 지표가 모두 높다는 의미이죠. 정밀도는 모델이 예측한 양성 중 실제 양성 비율을, 재현율은 실제 양성 중 모델이 잡아낸 비율을 나타냅니다. 따라서 F1 스코어는 두 지표가 균형을 이루는지를 평가합니다.
편집자의 시각: 왜 F1 스코어에 주목해야 하는가?
데이터 과학 분야에서 최근 몇 년간 ‘불균형 데이터’ 문제가 크게 부각되었습니다. 예를 들어 사기 탐지, 의료 진단, 스팸 필터링 등에서는 양성 사례가 전체의 극히 일부에 불과합니다. 이때 정확도만 보면 99%의 정확도를 자랑하지만 실제로는 양성 사례를 전혀 잡아내지 못할 수 있습니다. F1 스코어는 이런 함정을 피하게 해 주는 ‘안전망’ 역할을 합니다. 또한, 비즈니스 의사결정자는 모델이 놓치는 위험을 최소화하고 싶어 하므로, F1 스코어가 높은 모델을 선호하게 됩니다.
개인적인 관점: 내가 F1 스코어를 활용한 경험
저는 최근 고객 이탈 예측 프로젝트에 참여했는데, 이 데이터는 이탈 고객이 전체의 5%에 불과했습니다. 초기 모델은 정확도 96%를 기록했지만, 재현율은 12%에 불과했습니다. F1 스코어를 도입해 모델을 재조정한 결과, 재현율이 68%로 상승했고 F1 스코어는 0.73으로 크게 개선되었습니다. 이 경험을 통해 ‘정확도만으로는 부족하다’는 교훈을 얻었고, 이후 모든 프로젝트에서 F1 스코어를 기본 평가 지표로 삼고 있습니다.
기술 구현 가이드
Python의 Scikit‑learn 라이브러리를 사용하면 F1 스코어를 손쉽게 계산할 수 있습니다. 아래는 기본적인 구현 흐름입니다.
- 데이터 전처리 및 레이블 인코딩
- 훈련/검증 데이터 분할 (train_test_split)
- 모델 학습 (예: LogisticRegression, RandomForest)
- 예측값 도출 및
f1_score(y_true, y_pred, average='binary')호출 - 필요에 따라
average='macro'혹은average='weighted'옵션 사용
특히 다중 클래스 문제에서는 ‘macro’ 평균이 각 클래스의 F1 스코어를 동등하게 고려해 주어, 클래스 불균형을 완화하는 데 도움이 됩니다.
F1 스코어의 장단점
장점
- 정밀도와 재현율을 동시에 고려해 모델의 전반적인 균형을 평가한다.
- 불균형 데이터셋에서 의미 있는 성능 지표를 제공한다.
- 단일 숫자로 요약되므로 비즈니스 이해관계자와 소통이 용이하다.
단점
- 정밀도와 재현율 중 어느 하나가 크게 낮을 경우 전체 점수가 급격히 떨어진다.
- 다중 클래스 상황에서 평균 방식을 선택해야 하는 복잡성이 있다.
- 비용 민감도가 높은 도메인에서는 단순 F1 스코어보다 비용 기반 지표가 더 적합할 수 있다.
특징 기반 장·단점 비교
F1 스코어는 균형 지표라는 점에서 ROC‑AUC와 차별화됩니다. ROC‑AUC는 전체 임계값 범위에서의 성능을 평가하지만, 실제 운영 환경에서는 특정 임계값(예: 0.5)에서의 정밀도·재현율이 더 중요합니다. 따라서 F1 스코어는 실제 서비스에 바로 적용 가능한 ‘임계값 고정’ 평가에 강점을 가집니다.
법·정책 해석 관점
AI 윤리 및 공정성 가이드라인에서는 모델이 특정 그룹에 불리하게 작용하지 않도록 ‘공정성 지표’를 제시합니다. F1 스코어는 그룹별(예: 성별, 연령대)로 계산해 차이를 확인함으로써, 편향을 탐지하는 도구로 활용될 수 있습니다. 특히 유럽 GDPR이나 한국 개인정보보호법에서는 자동화 의사결정에 대한 투명성을 요구하므로, F1 스코어를 포함한 성능 보고서는 법적 컴플라이언스에 도움이 됩니다.
실제 활용 사례
1️⃣ 스팸 메일 필터링: 구글은 스팸 탐지 모델의 F1 스코어를 0.92 이상으로 유지해 사용자 불편을 최소화합니다.
2️⃣ 의료 이미지 진단: IBM Watson Health은 암 진단 모델의 재현율을 높이기 위해 F1 스코어를 주요 성능 지표로 채택했습니다.
3️⃣ 금융 사기 탐지: 국내 한 은행은 사기 거래 탐지 모델을 F1 스코어 0.78 수준까지 끌어올려 손실을 30% 감소시켰습니다.
단계별 실행 가이드
아래는 프로젝트에 F1 스코어를 도입하는 구체적인 단계입니다.
- 데이터 탐색: 클래스 비율을 파악하고, 필요 시 오버샘플링(SMOTE)이나 언더샘플링을 적용한다.
- 베이스라인 모델 구축: 간단한 로지스틱 회귀나 결정 트리로 기본 F1 스코어를 측정한다.
- 하이퍼파라미터 튜닝: GridSearchCV 혹은 Optuna를 이용해 정밀도·재현율 균형을 최적화한다.
- 임계값 조정: 기본 0.5가 아니라, Precision‑Recall 곡선에서 F1 스코어가 최대가 되는 임계값을 선택한다.
- 그룹별 평가: 민감한 속성(성별·연령 등)별 F1 스코어를 계산해 편향 여부를 확인한다.
- 배포 및 모니터링: 실시간 서비스에서는 F1 스코어를 주기적으로 재계산하고, 성능 저하 시 알림을 설정한다.
자주 묻는 질문(FAQ)
Q1. F1 스코어와 ROC‑AUC는 동시에 사용해야 할까?
A1. 두 지표는 서로 보완적입니다. ROC‑AUC는 전반적인 분류 능력을, F1 스코어는 특정 임계값에서의 균형을 보여줍니다. 상황에 따라 둘 중 하나를 강조해도 무방합니다.
Q2. 다중 클래스에서 ‘macro’와 ‘weighted’ 평균 중 어느 것을 선택해야 할까?
A2. 클래스 비율이 크게 차이나면 ‘weighted’를, 각 클래스의 중요도가 동등하다면 ‘macro’를 사용합니다.
Q3. F1 스코어가 낮은 경우 어떻게 개선할 수 있나요?
A3. 데이터 불균형을 해소하거나, 임계값을 재조정하고, 모델 복잡도를 높이는 등 여러 접근법을 시도해볼 수 있습니다.
결론 및 실무 적용 액션 아이템
F1 스코어는 단순히 ‘점수’가 아니라, 불균형 데이터와 비즈니스 위험을 동시에 관리할 수 있는 전략적 도구입니다. 지금 바로 다음 액션을 실행해 보세요.
- 프로젝트 초기 단계에서 데이터 불균형을 확인하고, SMOTE 등 리샘플링 기법을 적용한다.
- 모델 평가 시 정확도와 함께 반드시 F1 스코어를 계산하고, 임계값을 최적화한다.
- 민감한 속성별 F1 스코어를 보고, 편향이 존재하면 재학습 혹은 데이터 보강을 진행한다.
- 배포 후 모니터링 파이프라인에 F1 스코어 재계산 로직을 추가해 성능 저하를 조기에 감지한다.
이러한 절차를 통해 모델의 신뢰성을 높이고, 비즈니스 의사결정에 필요한 정확한 정보를 제공할 수 있습니다.
관련 글 추천
- https://infobuza.com/2026/04/07/20260407-z2ys4p/
- https://infobuza.com/2026/04/07/20260407-969i0a/
지금 바로 시작할 수 있는 실무 액션
- 현재 팀의 AI 활용 범위와 검증 절차를 먼저 문서화합니다.
- 작은 파일럿 프로젝트로 KPI를 정하고 2~4주 단위로 검증합니다.
- 보안, 품질, 리뷰 기준을 자동화 도구와 함께 연결합니다.

