← 문제 목록/F1 점수

F1 점수

평가 지표 · easy

preview

F1 점수

정밀도 & 재현율(25번)조화평균. 하나만 높이고 다른 쪽을 희생시키는 모델을 걸러냅니다:

F1=2PRP+R=2TP2TP+FP+FNF_1 = \frac{2 \cdot P \cdot R}{P + R} = \frac{2 \, TP}{2 \, TP + FP + FN}

왜 산술평균이 아니라 조화평균?

조화평균은 작은 값에 끌려갑니다:

  • P=0.99P = 0.99, R=0.01R = 0.01 → 산술 0.500.50 , F1 0.020.02
  • P=R=0.5P = R = 0.5 → 산술 0.50.5, F1 0.50.5

즉 F1은 "둘 다 괜찮을 때만 높게" — 한쪽 극단 모델이 좋게 보이는 걸 방지.

과제

함수 f1_score(y_pred, y_true) 를 완성하세요.

  • 이진 분류 0/1.
  • 반환: Python float.
  • P + R == 0 일 때 0.0 반환으로 방어.

테스트 케이스

#이름y_predy_true기대
1완벽[1,0,1,0][1,0,1,0]1.0
2전부 양성 예측 (P=0.5, R=1.0)[1,1,1,1][1,0,1,0]0.667
3전부 음성 예측[0,0,0,0][1,0,1,0]0.0
4혼합[1,1,0,0,1][1,0,1,0,1]0.667
5sklearn 일치무작위일치
Loading...

코드를 작성하고 Run 을 눌러보세요.