My Blog

(머신러닝 딥러닝) F1 Score에 대한 모든 것


▶F1 스코어란 무엇인가요? F1 스코어는 분류 모델의 성능을 평가하기 위한 지표 중 하나로, 정밀도(Precision)와 재현율(Recall)의 조화 평균입니다. 정밀도와 재현율 사이의 균형을 측정하며, 두 지표의 조화로운 성능을 나타냅니다. ▶왜 F1 스코어를 사용하는가? 균형 잡힌 평가: 정밀도와 재현율은 일반적으로 반비례 관계에 있기 때문에, 한쪽만 높이고 다른 쪽이 낮아지는 상황이 발생할 수 있습니다. F1 스코어는 이러한 두 지표를 하나의 값으로 통합하여 모델의 전반적인 균형을 평가합니다. 클래스 불균형이 심한 데이터셋에서는 정확도만으로 모델의 성능을 평가하기 어렵습니다. 이때 F1 스코어는 모델의 실제 분류 능력을 더 잘 반영합니다. F1 스코어의 수학적 정의 F1 스코어는 정밀도와 재현율의 조화 평균으로 계산됩니다. F1 스코어=2×[정밀도×재현율]/[정밀도+재현율] 즉, F1 스코어는 [정밀도+재현율] 중에서 [정밀도×재현율]의 비율을 말해요. ​ ▶정밀도(Precision): 모델이 양성(Positive)으로 예측한 샘플 중 실제로 양성인 샘플의 비율 정밀도=진양성(TP)/진양성(TP)+거짓양성(FP) 즉, 정밀도는, [진양성(TP)+거짓양성(FP)] 중에서 [진양성(TP)]의 비율입니다. ​ ▶재현율(Recall): 실제 양성 샘플 중 모델이 양성으로 올바르게 예측한 샘플의 비율 재현율=진양성(TP)/진양성(TP)+거짓음성(FN) 즉, 재현율은 [진양성(TP)+거짓음성(FN)] 중에서 [진양성(TP)]의 비율입니다. ​ ▶F1 스코어의 해석 F1 스코어는 0부터 1까지의 값을 가지며, 1에 가까울수록 정밀도와 재현율이 모두 높다는 것을 의미해요. F1 스코어는 정밀도와 재현율이 비슷한 수준일 때 높은 값을 가집니다. 한쪽이 높고 다른 쪽이 낮으면 F1 스코어는 낮아집니다. ▶F1 스코어의 장점과 한계 -장점 정밀도와 재현율의 조화 평균을 사용함으로써 두 지표 사이의 균형을 평가할 수 있습니다. 클래스 불균형에 강함: 클래스 불균형 데이터셋에서 모델의 성능을 더 공정하게 평가합니다. -한계 가중치 미반영: F1 스코어는 정밀도와 재현율을 동일한 중요도로 간주합니다. 특정 상황에서는 두 지표의 중요도가 다를 수 있습니다. 전체 그림 제공 부족: F1 스코어 하나만으로는 모델의 모든 성능 측면을 파악하기 어렵습니다. 다른 지표와 함께 해석해야 합니다. ▶F1 스코어의 변형: 마이크로, 매크로, 가중 평균 다중 클래스 또는 불균형 데이터셋에서 F1 스코어를 계산할 때, 여러 방법이 있습니다. 1. 마이크로 평균 (micro average) 전체 진양성, 거짓양성, 거짓음성의 합을 사용하여 계산합니다. 클래스별로 가중치를 부여하지 않고 전체적인 성능을 평가합니다. 클래스 불균형이 있을 때 작은 클래스의 영향이 적습니다. 2. 매크로 평균 (macro average) 각 클래스의 F1 스코어를 계산한 후, 그 평균을 구합니다. 모든 클래스에 동일한 중요도를 부여합니다. 클래스 불균형이 있을 때 작은 클래스의 성능을 강조합니다. 3. 가중 평균 (weighted average) 각 클래스의 F1 스코어에 해당 클래스의 샘플 수로 가중치를 부여하여 평균을 계산합니다. 클래스의 크기에 비례하여 영향을 미칩니다. 클래스 불균형을 부분적으로 반영합니다. ▶F1 스코어가 중요한 이유 실제 응용에서의 중요성: 의료 진단, 사기 탐지 등에서 거짓 음성(FN) 또는 거짓 양성(FP)의 비용이 클 수 있습니다. F1 스코어는 이러한 상황에서 모델의 성능을 균형 있게 평가하는 데 도움을 줍니다. 모델 선택: 여러 모델을 비교할 때, F1 스코어는 정밀도와 재현율의 균형 측면에서 어떤 모델이 더 나은지 판단하는 기준이 됩니다. ▶언제 F1 스코어를 사용해야 할까요? 클래스 불균형 데이터셋: 한 클래스의 샘플 수가 다른 클래스에 비해 훨씬 적은 경우. 정밀도와 재현율의 균형이 중요할 때: 특정한 지표만 높이는 것보다 둘 사이의 균형이 필요한 경우. 이진 분류뿐만 아니라 다중 클래스 분류에서도: 적절한 평균 방식을 선택하여 다중 클래스 문제에서도 사용 가능합니다. ▶F1 스코어를 높이기 위한 전략 데이터 균형화: 오버샘플링, 언더샘플링, SMOTE 등의 기법을 사용하여 클래스 불균형을 완화합니다. 모델 튜닝: 분류 임계값(threshold)을 조정하여 정밀도와 재현율의 균형을 맞춥니다. 앙상블 기법: 여러 모델을 결합하여 성능을 향상시킵니다. 적절한 손실 함수 선택: 불균형 데이터를 처리하기 위한 손실 함수를 사용합니다(예: Focal Loss). 추가 예시: 스팸 메일 분류 목표: 이메일이 스팸인지 아닌지를 분류하는 모델을 개발합니다. 중요한 지표: 정밀도: 정상 이메일을 스팸으로 잘못 분류하면 사용자에게 불편을 줍니다. 재현율: 스팸 메일을 놓치지 않고 걸러내는 것이 중요합니다. 모델 평가 정밀도와 재현율의 균형이 필요: 두 지표 중 하나만 높이는 것이 아니라, 둘 사이의 균형을 맞춰야 합니다. F1 스코어 사용: 정밀도와 재현율의 조화 평균을 통해 모델의 전반적인 성능을 평가합니다. 결론 F1 스코어는 정밀도와 재현율의 균형을 평가하는 강력한 지표입니다. 클래스 불균형 문제나 특정한 오류 비용이 중요한 상황에서 모델의 성능을 공정하게 평가할 수 있습니다. 단일 지표에 의존하기보다는 정확도, 정밀도, 재현율, F1 스코어 등을 함께 고려하여 모델의 성능을 종합적으로 평가하는 것이 중요합니다.

Blog Home Back to Post List