ML 07. 분류 문제 평가지표

cuckoo·2022년 11월 18일
0

Machine Learning

목록 보기
7/11

키워드

  • 정밀도, 재현율
  • ROC curve, AUC
  • Confusion matrix

혼동행렬(Confusion matrix )

분류에서 예측된 결과와 살제 결과에 대한 레코드의 개수를 표시한 테이블(이진의 경우 2X2)

  • TP(True Postive): 예측이 참이고, 실제값도 참인 경우
  • TN(True Negative): 예측값이 거짓이고, 실제값도 거짓인 경우
  • FP(False Postive): 예측값이 참인데, 실제값은 거짓인 경우
  • FN(False Negative): 예측값이 거짓인데, 실제값은 참인 경우

정확도(Accuracy)

전체 범주를 모두 바르게 맞춘 경우를 전체 수로 나눈 값입니다

  • TP+TNTotal\large \frac{TP + TN}{Total}

정밀도(Precision)

Positive로 예측한 경우 중 올바르게 Positive를 맞춘 비율

  • TPTP+FP\large \frac{TP}{TP + FP}
  • 귤 공장에서 품질 좋은 귤을 고르는 경우
    • 이때 품질 좋은 귤에 대한 기준을 높게 설정하여 상품성이 떨어지는 귤들을 제외시킬 수 있습니다.
    • 만약 품질 좋은 귤을 걸러내는 기준이 낮다면 불량한 귤도 들어갈 수 있게 됩니다.

재현율(Recall, Sensitivity)

실제 Positive인 것 중 올바르게 Positive를 맞춘 것의 비율

  • TPTP+FN\large \frac{TP}{TP + FN}
  • 전쟁 중 위치를 잘못 파악한 경우
    • A지역에 적군이 실제로 오지 않는데 온다고 예측하여 군사를 배치하면 피해는 없다.(FP)
    • 그러나 A지역에 적군이 실제로 오는데 오지 않는다고 예측하여 군사를 배치하지 않으면 피해가 발생한다.(FN)
    • 따라서 이 경우 재현율이 중요하다.

F1점수(F1 score)

정밀도와 재현율의 조화평균(harmonic mean)입니다:

  • 2precisionrecallprecision+recall2\cdot\large\frac{precision\cdot recall}{precision + recall}

임계값(기준 0.5)

분류 모델에서 확률값을 분류하는 기준이 되는 수치

  • 증가할 경우
    • positive 범주의 재현율 : 감소
    • negative 범주의 재현율 : 증가
    • positive 범주의 정밀도 : 증가
    • negative 범주의 정밀도 : 감소
  • 감소할 경우
    • positive 범주의 재현율 : 증가
    • negative 범주의 재현율 : 감소
    • positive 범주의 정밀도 : 감소
    • negative 범주의 정밀도 : 증가
  • 임계값을 높일수록 더 정밀하게 예측값을 도출하며, 잘못 예측할 확률(재현율)이 감소하고 정확히 예측할 확률(정밀도)가 증가합니다.
  • 임계값을 낮출수록 더 넓은 범위로 예측값을 도출하며, 잘못 예측할 확률(재현율)이 증가하고 정확히 예측할 확률(정밀도)가 감소합니다.

ROC curve

실제로 참인 것을 참이라고 잘 예측할 TPR과 실제로 거짓인 것을 참이라고 잘못 예측할 FPR의 관계로 표현

  • Recall(재현율)

    Sensitivity = TPR=TPP=TPTP+FN=1FNR\displaystyle \mathrm {TPR} ={\frac {\mathrm {TP} }{\mathrm {P} }}={\frac {\mathrm {TP} }{\mathrm {TP} +\mathrm {FN} }}=1-\mathrm {FNR}

  • Fall-out(위양성률)

    FPR=FPN=FPFP+TN=1TNR(Specificity)\displaystyle \mathrm {FPR} ={\frac {\mathrm {FP} }{\mathrm {N} }}={\frac {\mathrm {FP} }{\mathrm {FP} +\mathrm {TN} }}=1-\mathrm {TNR(Specificity)}

  • 재현율을 높이기 위해서는 Positive로 판단하는 임계값을 계속 낮추어 모두 Positive로 판단하게 만들면 됩니다. 하지만 이렇게 하면 동시에 Negative이지만 Positive로 판단하는 위양성률도 같이 높아집니다.

  • 재현율은 최대화 하고 위양성률은 최소화 하는 임계값이 최적의 임계값입니다

AUC score

ROC curve의 아래 면적

  • AUC값이 1과 가까이 높을 수록 더 좋은 분류기이며 이는 0을 1로 잘못 예측한 경우 없이, 1을 정확히 분류하는 완벽한 분류기를 의미합니다.
  • auc score가 중요한 경우 → 모델의 성능을 측정해야 하는 경우

AUC와 정밀도,재현율과의 차이점

  • AUC는 모든 임계값의 변화에 따른 TPR과 FPR의 관계 곡선인 ROC curve의 밑면적으로 특정 시점이 아닌 모든 임계값의 변화를 고려한 지표
  • 반면, 정밀도와 재현율은 특정 시점의 임계값에서 정답을 잘 맞췄는지의 여부를 판단하기 위한 지표
  • AUC는 모든 임계값을 이미 활용했기 때문에 임계값의 따라 값이 바뀌지 않고 정밀도와 재현율은 특정시점에서의 임계값만 보기 때문에 임계값에 따라 값이 바뀐다는 차이가 있습니다.
  • AUC는 확률값을 평가하는 지표이고 정밀도와 재현율은 분류된 결과값을 평가하는 지표입니다.

F1 beta score

  • Beta값이 1.0보다 크면 Recall에 비중을 두고 계산하게 되고
  • Beta값이 1.0보다 작으면 Precision에 비중을 두고 계산하게 됩니다.

roc_auc_score를 구하는 코드와 정밀도, 재현율을 구하는 코드의 차이

  • AUC의 예시로 암의 여부를 분류할 때 암이냐, 아니냐에 따른 결과값보다 이 환자가 암일 확률을 더 중요하게 평가하는 예시를 들 수 있습니다. AUC가 의학분야에서 처음 등장한 지표인만큼 의학분야에서는 이 사람이 암이냐 아니냐 보다 암일 확률이 얼마나 되는냐에 따라 다른 치료법을 적용할 수 있기 때문에 결과값보다 확률에 더 초점을 두어 모델을 평가합니다.
  • 하지만, 결과값이 안 중요하다는 뜻은 절대 아니기 때문에 AUC 하나로만 성능을 평가하는 것이 아니라 다양한 지표를 모두 활용해서 성능이 가장 좋은 모델을 선택하는 것이 매우 중요합니다!!!

추가학습이 필요한 개념

  • auc score의 예시
profile
ENTJ 데이터 분석가 준비중입니다:)

0개의 댓글