계산기 & 툴계산기 & 툴
불러오는 중...
개발

🎯
F1 Score 계산기

TP, FP, FN 또는 Precision과 Recall을 입력하여 F1 Score를 계산하는 머신러닝 평가 지표 계산기입니다. Precision, Recall, F0.5, F1, F2 Score와 혼동행렬을 함께 확인할 수 있습니다.
TP, FP, FN 값을 입력하여 머신러닝 분류 모델의 F1 Score, Precision, Recall을 계산해보세요. Precision과 Recall을 직접 입력할 수도 있으며, F0.5·F1·F2 Score를 함께 비교할 수 있습니다.

실제 Positive를 Positive로 맞게 예측한 개수
실제 Negative를 Positive라고 잘못 예측한 개수
실제 Positive를 Negative라고 놓친 개수
선택 입력입니다. TN을 입력하면 Accuracy와 Specificity도 계산합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

이 사이트는 광고 수익으로 유지되고 있습니다. 배너 또는 여기를 클릭하여 구매해 주시면 유지에 도움을 주실 수 있습니다.

F1 Score 계산기란?

F1 Score 계산기는 머신러닝 분류 모델의 Precision(정밀도) Recall(재현율)을 하나의 지표로 결합하여 모델의 성능을 확인하는 계산기입니다.
단순히 전체 예측 중 몇 개를 맞혔는지를 보는 Accuracy와 달리 F1 Score는 False Positive와 False Negative를 함께 고려합니다. 특히 Positive 클래스의 탐지 성능을 평가하면서 Precision과 Recall 사이의 균형을 함께 보고 싶을 때 활용할 수 있습니다.

F1 Score 공식

F1 Score는 Precision과 Recall의 조화평균으로 계산합니다.
  • F1 = 2 × (Precision × Recall) ÷ (Precision + Recall)
  • F1 = 2TP ÷ (2TP + FP + FN)
F1 Score의 범위는 0부터 1까지이며, 1에 가까울수록 Precision과 Recall이 모두 높은 결과를 의미합니다.

TP, FP, FN, TN 뜻

  • TP (True Positive): 실제 Positive를 Positive로 올바르게 예측
  • FP (False Positive): 실제 Negative를 Positive로 잘못 예측
  • FN (False Negative): 실제 Positive를 Negative로 잘못 예측
  • TN (True Negative): 실제 Negative를 Negative로 올바르게 예측
F1 Score 공식에는 TP, FP, FN이 사용되며 TN은 직접 포함되지 않습니다. 따라서 TN 값이 매우 큰 데이터에서는 Accuracy와 F1 Score가 서로 다른 관점의 결과를 보여줄 수 있습니다.

Precision 계산 방법

Precision은 모델이 Positive라고 예측한 데이터 중 실제로 Positive였던 비율입니다.
  • Precision = TP ÷ (TP + FP)
예를 들어, 스팸 탐지 모델이 100개의 메일을 스팸이라고 판단했고 그중 실제 스팸이 80개라면 Precision은 80%입니다. False Positive가 줄어들수록 Precision은 높아집니다.

Recall 계산 방법

Recall은 실제 Positive 데이터 가운데 모델이 얼마나 많은 Positive를 찾아냈는지를 나타냅니다.
  • Recall = TP ÷ (TP + FN)
실제 Positive가 90개이고 이 중 80개를 올바르게 탐지했다면 Recall은 약 88.89%입니다. 놓친 Positive인 FN이 줄어들수록 Recall은 높아집니다.

F0.5, F1, F2 Score의 차이

Precision과 Recall의 중요도가 항상 동일한 것은 아닙니다. 이때 사용할 수 있는 것이 Fβ Score입니다.
  • F0.5: Recall보다 Precision을 더 강조
  • F1: Precision과 Recall을 균형 있게 반영
  • F2: Precision보다 Recall을 더 강조
예를 들어, 잘못된 Positive 판정을 줄이는 것이 중요한 서비스라면 Precision을 더 주의해서 볼 수 있습니다. 반대로 실제 Positive 사례를 놓치는 것이 더 큰 문제라면 Recall을 더 중요하게 평가할 수 있습니다.

F1 Score와 Accuracy의 차이

Accuracy는 전체 데이터 중 올바르게 예측한 비율입니다.
  • Accuracy = (TP + TN) ÷ (TP + TN + FP + FN)
반면 F1 Score는 TN을 직접 사용하지 않고, Positive 예측의 Precision과 Recall을 중심으로 평가합니다. 따라서 한쪽 클래스의 데이터가 훨씬 많은 분류 문제에서는 Accuracy 하나만 보는 것보다 Precision, Recall, F1 Score 등을 함께 비교하는 것이 유용합니다.

F1 Score 계산 예시

다음과 같은 분류 결과가 있다고 가정해보겠습니다.
  • TP = 80
  • FP = 20
  • FN = 10
Precision은 다음과 같습니다.
  • 80 ÷ (80 + 20) = 0.8
Recall은 다음과 같습니다.
  • 80 ÷ (80 + 10) ≈ 0.8889
따라서 F1 Score는 다음과 같습니다.
  • 2 × 80 ÷ (2 × 80 + 20 + 10) ≈ 0.8421
즉, 이 예시의 F1 Score는 약 0.8421, 백분율로 약 84.21%입니다.

F1 Score를 사용할 때 주의할 점

  • F1 Score만으로 모델의 모든 성능을 판단할 수 있는 것은 아닙니다.
  • F1 Score에는 TN이 직접 포함되지 않습니다.
  • 같은 모델도 분류 임계값을 변경하면 Precision과 Recall이 달라지고 F1 Score도 달라질 수 있습니다.
  • False Positive와 False Negative의 실제 비용이 크게 다르다면 F1뿐 아니라 Precision, Recall 또는 Fβ도 함께 확인하는 것이 좋습니다.
  • 다중 클래스 분류에서는 Macro, Micro, Weighted와 같은 평균 방법에 따라 최종 F1 값이 달라질 수 있습니다.

Binary F1과 Macro·Micro·Weighted F1

이 계산기는 하나의 Positive 클래스를 기준으로 한 Binary F1 Score 계산기입니다. 여러 클래스를 동시에 평가하는 경우에는 클래스별 F1을 어떻게 합칠지 결정해야 합니다.
  • Macro F1: 각 클래스의 F1을 계산한 뒤 동일한 비중으로 평균
  • Weighted F1: 각 클래스의 데이터 수를 반영하여 평균
  • Micro F1: 모든 클래스의 TP, FP, FN을 합산한 뒤 계산

자주 묻는 질문

  • Q. F1 Score는 높을수록 좋은가요?
    A. F1 Score는 0~1 사이의 값이며 1에 가까울수록 Precision과 Recall이 모두 높은 결과입니다. 다만 실제 모델 평가는 F1 하나만으로 결정하지 말고 문제의 목적에 맞는 다른 지표도 함께 확인하는 것이 좋습니다.
  • Q. F1 Score가 0이 되는 경우는 언제인가요?
    A. Precision 또는 Recall을 계산할 수 있는 Positive 예측이 없거나, True Positive가 없어 Precision과 Recall의 조화평균이 0이 되는 경우 F1 Score도 0이 됩니다.
  • Q. TN은 왜 F1 Score 계산에 들어가지 않나요?
    A. F1 Score는 Positive 클래스에 대한 Precision과 Recall을 결합한 지표이기 때문입니다. Precision에는 TP와 FP, Recall에는 TP와 FN이 사용되므로 TN은 F1 공식에 직접 포함되지 않습니다.
  • Q. Precision 80%, Recall 90%면 F1도 85%인가요?
    A. 아닙니다. F1은 단순 산술평균이 아니라 조화평균입니다. Precision 80%, Recall 90%라면 F1 Score는 약 84.71%입니다.
  • Q. F1과 F2 Score 중 무엇을 사용해야 하나요?
    A. Precision과 Recall을 비슷하게 중요하게 본다면 F1을 사용할 수 있습니다. Recall을 더 강조해야 한다면 F2처럼 β가 1보다 큰 Fβ Score를 함께 비교할 수 있습니다.
  • Q. 다중 클래스 모델에도 사용할 수 있나요?
    A. 클래스 하나를 Positive로 두고 One-vs-Rest 방식으로 TP, FP, FN을 만든 경우 이 계산기를 사용할 수 있습니다. 전체 다중 클래스 성능을 하나의 값으로 표현하려면 Macro F1, Micro F1, Weighted F1과 같은 평균 방식도 고려해야 합니다.

참고 자료

  • scikit-learn — f1_score, precision_score, recall_score, fbeta_score
  • Google Machine Learning Crash Course — Accuracy, Precision, Recall and F1

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

이 사이트는 광고 수익으로 유지되고 있습니다. 배너 또는 여기를 클릭하여 구매해 주시면 유지에 도움을 주실 수 있습니다.

F1 Score 계산기
즐겨찾기
메뉴