머신러닝 분류 평가 방법

  • 정확도 (Accuracy)
  • 오차행렬(Confusion Matrix)
  • 정밀도(Precision)
  • 재현율(Recall)
  • F1스코어
  • ROC AUC

이 지표들은 분류 모두에 적용되는 지표이지만,
*특히 이진 분류에서 더욱 중요하게 강조하는 지표

1. 정확도 (Accuracy)

정확도 = 예측 결과가 동일한 데이터 건수 / 전체 예측 데이터 건수

  • 이진분류의 경우 데이터의 구성에 따라 Ml 모델의 성능을 왜곡할 수 있기 때문에 정확도 수치 하나만 가지고 성능을 평가하지 않음
  • 정확도는 불균형한 레이블 값 분포에서 ML 모델의 성능을 판단할 경우, 적합한 평가 지표가 아님 (불균형한 레이블 데이터 세트에서는 성능 수치로 사용 X)

ex)
축구를 한 사람 : 90명
축구를 안한 사람 : 10명

여기서 모두 다 축구를 했다고 분류해도 정확도는 90%이기 때문

2. 오차행렬 (Confusion Matrix)

: 이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함게 나타내는 지표

  • TN은 예측값을 Negative 값 0으로 예측했고 실제 값 역시 Negative 값 0

  • TP는 예측값을 Positive 값 1로 예측했고 실제 값 역시
    Positive 값 1

  • FN는 예측값을 Negative 값 0으로 예측했는데 실제 값은
    Positive 값 1

  • FP는 예측값을 Positive 값 1로 예측했는데 실제 값은
    Negative 값 0

* 참고로 정확도 = 예측 결과와 실제 값이 동일한 건수 / 전체 데이터 건수
=(TN + TP) / (TN + TP + FN + FP)

3.정밀도(Precision)와 재현율(Recall)

정밀도 = TP / (FP + TP)

정밀도 : 예측을 Positive로 한 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율, 양성 예측도라고도 불림

재현율 = TP / (FN + TP)

재현율 : 실제 값이 Positive인 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율, 민감도(Sensitivity) 또는 TPR(True Positive Rate)라고도 불림

정밀도와 재현율

  • 상황에 따라서 정밀도가 중요할 때가 있고 재현율이 중요할 때가 있음

  • 정밀도가 더 중요한 경우
    • ex) 스펨 메일 여부를 판단하는 모델

  • 재현율이 더 중요한 경우
    • ex) 암 판단 모델

  • 정밀도와 재현율 모두 TP를 높이는 데 동일하게 초점을 맞지만, 정밀도는 FP낮추는 데, 재현율은 FN을 낮추는 데 초점을 맞춤

    • 서로 보완적인 지표로 분류의 성능을 평가하는 데 적용
    • 둘 중 어느 한 평가 지표만 매우 높고, 다른 수치는 매우 낮은 결과를 나타내는 경우는 바람직하지 않음.
    • Trade-Off관계 = 어느 한 쪽을 강제로 높이면 다른 하나의 수치는 떨어지기 쉬움

    • 임곗값(threshold)을 낮추면 재현율이 올라가고 정밀도가 떨어짐
      - 이유 : 분류 결정 임곗값은 Positive 예측값을 결정하는 확률의 기준이 되기 때문
재현율이 중요한 경우가 보통 더 많음

4.F1스코어

F1 스코어 : 정밀도재현율이 어느 한쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가짐

5.ROC-AUC

*ROC곡선과 AUC스코어는 이진 분류의 예측 성능 측정에서 중요하게 사용되는 지표

ROC곡선 : FPR(False Positive Rate)이 변할 때 TPR(True Positive Rate)이 어떻게 변하는지를 나타내는 곡선

x축 : FPR
y축 : TPR = 재현율 , 민감도
TNR(True Negative Rate) : 민감도에 대응하는 지표로 특이성이라고 불림
  • 민감도(TPR)는 실제값 Positive(양성)가 정확이 예측돼야 하는 수준을 나타냄(질병이 있는 사람은 질병이 있는것으로 양성 판정)

  • 특이성(TNR)은 실제값 Negative(음성)가 정확이 예측돼야 하는 수준을 나타냄(질병이 없는 건강한 사람은 질병이 없는 것으로 음성 판정)

    *FPR = FP / (FP + TN) = 1 - 특이성

  • 가운데 직선은 ROC곡선의 최저 값

  • ROC 곡선이 가운 직선에 가까울 수록 성능이 떨어지는 것이며, 멀어질수록 성능이 뛰어난 것(보라색)

  • ROC 곡선은 FPR을 0부터 1까지 변경하면서 TPR의 변화 값을 구함
    - 어떻게?
    분류 결정 임곗값을 변경하면서
    .. 분류 결정 임곗값은 Positive 예측값을 결정하는 확률의 기준이기 때문에 FPR을 0으로 만들려면 임곗값을 1로 지정하면됨
    (아예 Positive로 예측하지 않기 때문에 FP값이 0이 되므로 자연스럽게 FPR은 0이 됨)


    - FPR을 1로 만들려면? TN을 0으로 만들어주면됨
    어떻게?
    분류 결정 임곗값을 0으로 지정하면 분류기의 Positive 확률 기준이 너무 낮아서 다 Positive으로 예측하기 대문에 TN이 0이 되고 FPR 값은 1이됨

  • 결론 : 임곗값을 1부터 0까지 변화시키면서 FPR을 구하고 이 FPR 값의 변화에 따른 TPR 값을 구하는것.

    AUC값은 곡선 밑의 면적을 구한 것으로서 1에 가까울 수록 좋음.

총정리:

  • 정확도
  • 오차행렬
  • 정밀도
  • 재현율
  • F1스코어
  • ROC-AUC

이진 분류의 레이블 값이 불균형하게 분포될 경우(0이 매우 많고 1이 매우 적을 경우 또는 반대의 경우)

단순히 예측 결과와 실제 결과가 일치하는 지표인 정확도 만으로 머신러닝 모델의 예측 성능을 평가할 수 없음

오차행렬은 TN,TP,FN,FP 값을 다양하게 결합해 만들어지며, 이를 통해 분류 모델 예측 성능의 오류가 어떠한 모습으로 발생하는지 알 수 있음

정밀도와 재현율은 Positive 데이터 세트의 예측 성능에 좀 더 초점을 맞춘 평가지표. 분류하려는 업무 특성상 정밀도 또는 재현율이 강조돼야 할 경우 분류의 결정 임곗값(Threshold)을 조절해가며 정밀도 또는 재현율의 수치를 높일 수 있음

F1 스코어는 정밀도와 재현율을 결합한 평가지표, 정밀도와 재현율이 어느 한쪽으로 치우치지 않을 때 높은 지표값을 가짐. ROC-AUC는 일반적을 이진 분류의 성능 평가를 위해 가장 많이 사용되는 지표. AUC값은 곡선 밑의 면적을 구한 것으로서 일반적으로 1에 가까울수록 좋은 수치.

profile
Comeandplay-~

0개의 댓글