데이터분석

오차 행렬 - 정확도, 정밀도, 재현도, 특이도, F1 Score

바틀비 2024. 2. 20. 10:42
    예측
    양성 음성
실제 양성 1 1
음성 3 5

정확도: (1+5)/(1+1+3+5) = 0.6
정밀도: 1/(1+3) = 0.25
재현도: 1/(1+1) = 0.5
F1 score = 0.33

오차 행렬(Confusion Matrix)이란?

오차 행렬은 분류 모델의 성능을 시각적으로 보여주는 표입니다. 이 표는 모델이 예측한 값과 실제 값이 얼마나 일치하는지를 나타내며, 특히 이진 분류 문제에서 많이 사용됩니다. 오차 행렬은 다음과 같이 4분면으로 구성됩니다.

  • TN (True Negative): 예측을 Negative라고 했고 실제로 Negative인 경우
  • FP (False Positive): 예측을 Positive라고 했는데 실제로 Negative인 경우
  • FN (False Negative): 예측을 Negative라고 했는데 실제로 Positive인 경우
  • TP (True Positive): 예측을 Positive라고 했는데 실제로 Positive인 경우

주요 평가 지표

1. 정확도 (Accuracy)

정확도는 전체 데이터 중 모델이 올바르게 예측한 데이터의 비율을 나타냅니다.

Accuracy = (TN+TP) / (TN+FP+FN+TP)

정확도는 가장 직관적으로 모델 성능을 이해할 수 있는 지표지만, 데이터 세트가 불균형할 때(예: Negative가 Positive보다 훨씬 많은 경우) 모델의 신뢰도를 제대로 반영하지 못할 수 있습니다.

2. 정밀도 (Precision)

정밀도는 모델이 Positive라고 예측한 데이터 중 실제로 Positive인 데이터의 비율을 나타냅니다.

Precision = TP / (FP+TP)

정밀도는 모델이 얼마나 불필요한 오류(False Positive)를 줄이는지를 측정합니다. 예를 들어, 스팸 메일 분류에서 실제 중요한 메일을 스팸으로 분류하는 것을 피해야 할 때 중요한 지표입니다.

3. 재현율 (Recall)

재현율은 실제 Positive인 데이터 중 모델이 올바르게 Positive로 예측한 데이터의 비율입니다.

Recall = TP / (FN+TP)

재현율은 모델이 실제로 중요한 사례를 놓치지 않도록 하는 것이 중요할 때 강조됩니다. 예를 들어, 암 진단에서 실제로 암인 환자를 놓치지 않는 것이 중요합니다.

4. 특이도(Specificity)

실제 음성인 데이터 중 모델이 정확하게 음성으로 예측한 비율이다.

특이도 = TN/(FP+TN)

잘못된 양성 예측(FP)의 수를 최소화하는데 집중한다. 재현율의 음성 버전이라고 볼 수 있다. 

5. F1 Score

데이터 세트가 불균형할 때 사용되는 주요 평가지표이다.
재현율과 정밀도는 트레이드 오프의 관계이다. 이를 보완하기 위한 지표로 정밀도와 재현율이 어느 한 쪽으로 치우치지 않는 수치를 나타낼 때 높은 값을 가진다.

F1 = 2*(
	(정밀도*재현율)/(정밀도+재현율)
)