Accuracy, Recall, Precision, f1-score

Soogyung Gwon·2026년 4월 7일

구름을잡아라

목록 보기
41/60

Confusion Matrix를 통해 Accuracy, Recall, Precision, f1-score를 구할 수 있다.

이 4개의 지표는 아래의 4개 값에서 출발

  • TP (True Positive)
  • TN (True Negative)
  • FP (False Positive)
  • FN (False Negative)

Accuracy

Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP + TN}{TP + TN + FP + FN}

전체 중에서 몇 개를 맞췄는가, 정답 개수 / 전체 개수

Precision

Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}

Positive라고 예측한 것 중에서 실제로 맞은 비율
(전체 positive라고 예측한 것들 중 맞춘 비율)

Recall

Recall=TPTP+FNRecall = \frac{TP}{TP + FN}

실제 Positive인 것들 중에서 얼마나 잘 찾아냈는가
(찾아냈어야 하는 Positive 중에 얼마나 맞췄는지)

f1-score

F1=2PrecisionRecallPrecision+Recall{F1 = 2 \cdot \frac{Precision \cdot Recall}{Precision + Recall}}
  • Precision과 Recall의 균형
  • 희귀한 positive 클래스를 얼마나 잘 잡는지를 더 잘 보여줌
from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score

cm = confusion_matrix(y_true, y_pred)
acc = accuracy_score(y_true, y_pred)
prec = precision_score(y_true, y_pred)
rec = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)

print(cm)
print("Accuracy:", acc)
print("Precision:", prec)
print("Recall:", rec)
print("F1:", f1)
profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글