ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 멋쟁이 사자처럼 11주차 회고
    카테고리 없음 2022. 11. 24. 17:42

    혼동행렬

     

    출처: https://velog.io/@gangjoo

    TN(True Negative): 아닌 것을 아니라고 옳게 예측

    FN(False Negative): 맞는 것을 아니라고 틀리게 예측

    FP(False Positive): 아닌 것을 맞다고 틀리게 예측

    TP(True Positive): 맞는 것을 맞다고 옳게 예측

     

    Precision(정밀도)

    예측 값(Positive) 중에서 실제로 예측이 Positive인 비율 == 예측값이 얼마나 정확한가

    잘못된 Positive 예측을 줄이기 위해 사용

     

     

    Recall(재현율)

    실제 값(True) 중에서 모델이 검출한 실제값의 비율을 나타내는 지표

    잘못된 Negative 예측을 줄이기 위해 사용

    실제 Positive 양성 데이터를 Negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우 주로 사용

    (암환자들의 암 발생여부 등)

    코드 구현

    import numpy as np

    import pandas as pd

    from sklearn.metrics import confusion_matrix

    # confusion_matrix

    truth = np.array([0,1,0,1,0,1,1,0,1,0])

    prediction = np.array([0,1,1,0,1,1,1,0,0,1])

    mat = confusion_matrix(truth, prediction)

     

    tn = mat[0][0]

    fp = mat[0][1]

    fn = mat[1][0]

    tp = mat[1][1]

     

    # Metrics

    precision = tp / (tp + fp)

    print("Precision: ", precision)

    recall = tp / (tp + fn)

    print("Recall: ", recall)

     

    Trade-off

    Precision, Recall은 상호보완적인 평가 지표이므로 한쪽을 높이면, 다른 한 쪽은 줄어든다.

    임계값(Threshold): Positive 예측값을 결정하는 확률의 기준으로 0-1 사이 값을 가지며 기본 값은 0.5이다.

    출처: https://velog.io/@rik963/Classification-Evaluation-Metric

    Threshold를 낮추면, Positive로 예측하는 값이 증가하여  Precision은 감소, Recall은 증가한다.

    Threshold를 높이면, Positive로 예측하는 값이 감소하여  Precision은 증가, Recall은 감소한다.

    적절한 임계값을 찾아서 정밀도와 재현율을 효율적으로 만들어야 한다.

Designed by Tistory.