F1 점수와 정확도: 어느 것을 사용해야 합니까?


기계 학습에서 분류 모델을 사용할 때 모델 품질을 평가하기 위해 자주 사용하는 두 가지 지표는 F1 점수정확도 입니다.

두 지표 모두 값이 높을수록 모델이 관측치를 클래스로 분류하는 능력이 더 높아집니다.

그러나 각 측정항목은 서로 다른 공식을 사용하여 계산되며 이를 사용하면 장단점이 있습니다.

다음 예에서는 실제로 각 지표를 계산하는 방법을 보여줍니다.

예: F1 점수 및 정확도 계산

400명의 대학 농구 선수가 NBA에 선발될지 여부를 예측하기 위해 로지스틱 회귀 모델을 사용한다고 가정해 보겠습니다.

다음 혼동 행렬은 모델의 예측을 요약합니다.

혼동 행렬에 대한 다양한 측정항목을 계산하는 방법은 다음과 같습니다.

정확성: 총 긍정적 예측에 비해 긍정적 예측을 수정합니다.

  • 정확도 = 참양성 / (참양성 + 거짓양성)
  • 정확도 = 120 / (120 + 70)
  • 정확도 = 0.63

알림: 전체 실제 긍정에 대한 긍정적 예측을 수정하세요.

  • 재현율 = 참양성 / (참양성 + 거짓음성)
  • 회상 = 120 / (120 + 40)
  • 재현율 = 0.75

정확도: 올바르게 분류된 모든 관찰의 백분율

  • 정확도 = (참양성 + 참음성) / (총 표본 크기)
  • 정확도 = (120 + 170) / (400)
  • 정확도 = 0.725

F1 점수: 정밀도와 재현율의 조화 평균

  • F1 점수 = 2 * (정밀도 * 재현율) / (정밀도 + 재현율)
  • F1 점수 = 2 * (0.63 * 0.75) / (0.63 + 0.75)
  • F1 점수 = 0.685

F1 점수와 정확성을 사용해야 하는 경우

F1 점수와 정확성을 사용하는 데에는 장단점이 있습니다.

정확도 :

장점 : 해석이 쉽다. 모델이 90% 정확하다고 말하면 해당 모델이 관측값의 90%를 올바르게 분류했다는 것을 알 수 있습니다.

단점 : 데이터가 어떻게 배포되는지 고려하지 않습니다. 예를 들어 전체 선수의 90%가 NBA에 드래프트되지 않았다고 가정해 보겠습니다. 모든 플레이어가 드래프트되지 않을 것이라고 단순히 예측하는 모델이 있다면 이 모델은 플레이어 중 90%에 대한 결과를 정확하게 예측할 것입니다. 이 값은 높은 것처럼 보이지만 모델은 실제로 어떤 선수가 드래프트될지 정확하게 예측할 수 없습니다.

F1 결과 :

장점 : 데이터가 어떻게 배포되는지 고려하세요. 예를 들어, 데이터의 불균형이 심한 경우(예: 모든 플레이어의 90%가 드래프트되지 않고 10%가 드래프트됨) F1 점수는 모델 성능에 대한 더 나은 평가를 제공합니다.

단점 : 해석하기가 더 어렵다. F1 점수는 정밀도와 모델 재현율이 혼합되어 해석하기가 조금 더 어렵습니다.

일반적으로:

클래스가 균형을 이루고 위음성 예측에 큰 단점이 없을 때 정확도를 사용하는 경우가 많습니다.

클래스가 불균형하고 위음성을 예측하는 데 심각한 단점이 있는 경우 F1 점수를 자주 사용합니다.

예를 들어, 로지스틱 회귀 모델을 사용하여 사람의 암 여부를 예측하는 경우 위음성은 매우 나쁩니다(예: 사람이 실제로 암에 걸렸을 때 암이 없다고 예측하는 것). 따라서 F1 점수는 다음과 같은 모델에 불이익을 줍니다. 잘못된 부정이 너무 많습니다. 정밀도 그 이상.

추가 리소스

회귀 vs. 분류 : 차이점은 무엇입니까?
로지스틱 회귀 소개
R에서 로지스틱 회귀를 수행하는 방법
Python에서 로지스틱 회귀를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다