F1-Score
F1-Score가 정밀도와 재현율을 어떻게 균형 있게 평가하여 머신러닝 모델을 평가하는지 학습하십시오. 더 나은 정확도를 위해 Ultralytics YOLO26 성능을 최적화하는 방법을 확인하십시오.
F1-Score는 정밀도(precision)와 재현율(recall)을 단일 조화 평균으로 결합한 머신러닝의 중요한 성능 지표입니다. 이는 데이터셋이 불균형하거나, 거짓 양성(false positive) 및 거짓 음성(false negative)에 따른 비용이 서로 다른 분류 모델을 평가할 때 특히 유용합니다. 데이터셋의 특정 클래스가 지배적일 경우 오해의 소지가 있을 수 있는 단순 정확도(accuracy)와 달리, F1-Score는 모델이 오류를 최소화하면서 관련 인스턴스를 정확하게 식별하는 능력에 대해 더욱 균형 잡힌 시각을 제공합니다. 극단적인 값을 페널티 처리함으로써, 정밀도와 재현율이 모두 합리적으로 높을 때만 높은 점수를 얻을 수 있도록 보장하며, 의료 진단부터 정보 검색에 이르는 다양한 분야에서 핵심 지표로 사용됩니다.
Link to this section머신러닝에서 F1-Score가 중요한 이유#
많은 실세계 시나리오에서 올바른 예측 비율(정확도)만 아는 것으로는 충분하지 않습니다. 예를 들어, 이상 탐지의 경우 정상 사례가 이상 사례보다 훨씬 많습니다. 모든 입력에 대해 "정상"이라고 예측하는 모델은 99%의 정확도를 달성할 수 있지만, 실제 문제를 탐지하는 데는 아무런 쓸모가 없습니다. F1-Score는 다음과 같은 두 가지 상충하는 지표의 균형을 맞춤으로써 이를 해결합니다:
- 정밀도: 이는 긍정 예측의 품질을 측정합니다. 모델이 긍정으로 분류한 모든 인스턴스 중 실제 긍정인 것이 얼마나 되는지를 나타냅니다.
- 재현율: 이는 긍정 예측의 양을 측정합니다. 실제 긍정 인스턴스 전체 중 모델이 올바르게 식별한 것이 얼마나 되는지를 나타냅니다.
정밀도를 높이면 재현율이 낮아지고 그 반대의 경우도 발생하는 등 흔히 상충 관계(trade-off)가 존재하기 때문에, F1-Score는 최적의 균형점을 찾기 위한 통합 지표 역할을 합니다. 이는 하이퍼파라미터 최적화를 사용하여 모델을 튜닝할 때 다양한 조건에서 강력한 성능을 보장하기 위해 매우 중요합니다.
Link to this section실제 애플리케이션 사례#
F1-Score의 유용성은 오류 비용이 중요한 다양한 산업 전반에 걸쳐 확장됩니다.
- Medical Diagnostics: In AI in healthcare, specifically for tasks like tumor detection, a false negative (missing a tumor) is life-threatening, while a false positive (flagging benign tissue) causes unnecessary anxiety. The F1-Score helps researchers optimize models like YOLO26 to ensure that the system is sensitive enough to catch diseases without overwhelming doctors with false alarms.
- 정보 검색 및 검색 엔진: 검색 엔진과 문서 분류 시스템은 F1-Score를 사용하여 관련성을 평가합니다. 사용자는 모든 관련 문서를 보고 싶어 하지만(높은 재현율), 관련 없는 결과들을 일일이 확인하고 싶어 하지는 않습니다(높은 정밀도). 높은 F1-Score는 엔진이 불필요한 정보 없이 올바른 정보를 효과적으로 검색하고 있음을 나타냅니다.
- Spam Filtering: Email services use text classification to segregate spam. The system must catch spam emails (recall) but crucially must not label important work emails as junk (precision). The F1-Score serves as the primary benchmark for these filters.
Link to this sectionUltralytics를 사용하여 F1-Score 계산하기#
현대적인 컴퓨터 비전 프레임워크는 이러한 지표의 계산을 간소화합니다. 객체 탐지 모델을 학습할 때, F1-Score는 검증 단계에서 자동으로 계산됩니다. Ultralytics Platform은 이러한 지표를 실시간 차트로 시각화하여 사용자가 다양한 신뢰도 임계값에 따른 F1-Score 곡선을 확인할 수 있게 합니다.
Python API를 사용하여 F1-Score의 구성 요소를 포함한 검증 지표에 액세스하는 방법은 다음과 같습니다:
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")
# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")Link to this sectionF1-Score 대 관련 지표#
F1-Score가 다른 평가 기준과 어떻게 다른지 이해하는 것은 프로젝트에 적합한 도구를 선택하는 데 필수적입니다.
- 정확도와의 차이: 정확도는 모든 오류를 동일하게 취급합니다. F1-Score는 관심 대상인 소수 클래스(긍정 클래스)의 성능에 집중하기 때문에 불균형 데이터셋에 대해 더 우수합니다.
- mAP와의 관계: 평균 정밀도(mAP)는 모든 신뢰도 임계값에 걸쳐 객체 탐지 모델을 비교하는 표준입니다. 그러나 F1-Score는 배포를 위한 최적의 신뢰도 임계값을 결정하는 데 자주 사용됩니다. 애플리케이션을 배포하기 위해 F1 곡선이 정점에 도달하는 임계값을 선택할 수 있습니다.
- 혼동 행렬: 혼동 행렬은 F1-Score를 도출하는 원시 데이터(참 양성, 거짓 양성 등)를 제공합니다. 행렬은 상세한 세부 정보를 제공하지만, F1-Score는 빠른 비교를 위한 단일 요약 통계를 제공합니다.
- ROC-AUC: 곡선 아래 면적(AUC)은 모든 임계값에 걸친 분리 가능성을 측정합니다. 데이터 분포가 매우 치우쳐 있을 때(예: 사기가 드문 사기 탐지)는 일반적으로 ROC-AUC보다 F1-Score가 선호됩니다.
Link to this sectionF1-Score 향상하기#
모델의 F1-Score가 낮다면 몇 가지 전략이 도움이 될 수 있습니다. 데이터 증강은 긍정 예제의 다양성을 높여 모델이 더 잘 일반화되도록 도울 수 있습니다. 견고한 기반 모델로부터 전이 학습을 활용하면 네트워크가 미리 학습된 특징을 활용할 수 있습니다. 또한, 추론 중에 신뢰도 임계값을 조정하면 정밀도와 재현율 사이의 균형을 수동으로 변경하여 특정 사용 사례에 맞게 F1-Score를 극대화할 수 있습니다.






