Machine Learning/Machine Learning

[Machine Learning][Model Performance Measure] Precision, Recall, Accuracy, F1 score, FPR, ROC curve, AUC

데이터 세상 2022. 9. 27. 19:43
728x90
반응형

Classification Performance Measure

Confusion Matrix (Binary Classification)

출처:https://www.biosymetrics.com/blog/binary-classification-metrics

 

Confusion Matrix (Multi-Class Classification)

Multi-class Confusion Matrix

True Positive(TP)

  • 실제 True인 정답을 True라고 예측 (정답)
  • 맞는 것을 올바르게 예측한 것

 

True Negative(TN)

  • 실제 False인 정답을 False라고 예측 (정답)
  • 틀린 것을 올바르게 예측한 것

 

False Positive(FP)

  • 실제 False인 정답을 True라고 예측 (오답)
  • 틀린 것을 맞다고 잘못 예측한 것

 

False Negative(FN)

  • 실제 True인 정답을 False라고 예측 (오답)
  • 맞는 것을 틀렸다고 잘못 예측한 것

Precision(정밀도)

모델의 예측값이 얼마나 정확하게 예측됐는가를 나타내는 지표

PPV(Positive Predictive Value), Positive 정답률이라고도 불림

ex) 날씨 예측 모델이 맑다고 예측했는데, 실제 날씨가 맑았는지를 살펴보는 지표

  • 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율
  • 시스템이 올바르게 예측한 엔티티 수를 시스템이 예측한 수로 나눈 값

Recall(재현율)

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

통계학에서는 sensitivity로 다른 분야에서는 hit rate라는 용어로도 사용

ex) 암환자들이 병원에 갔을 때 암환자라고 예측될 확률을 구하는 것

  • 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율
  • 시스템이 올바르게 예측한 개체수를 주석을 단 사람이 직접 식별한 수로 나눈 값

 

Precision vs Recall

Precision이나 Recall은 모두 실제 True인 정답을 모델이 True라고 예측한 경우에 관심이 있으나, 바라보는 관점은 다르다.

Precision은 모델의 입장에서, Recall은 실제 정답(data)의 입장에서 정답을 정답이라고 맞춘 경우를 바라본다.

 

Precision & Recall trade-off

Recall은 보통 실제값이 Positivie일 때 예측한 값이 Positive일 때 예측한 값이 Positive일 경우가 매우 중요한 상황일 때 사용

  • 암 판단 분류 예측 시 실제로 암이 걸렸는데 예측이 암이 걸리지 않았다고 판단하게 되면 수반되는 위험이 커짐

 

Precision은 모델이 Positive라고 예측했을 때 실제값이 Negitive일 때 위험이 수반되는 경우에 사용

  • 스팸메일 분류에서 중요 업무 내용(negative)을 스팸메일(positive)라고 분류하게 된다면 중요 업무가 전달되지 못하는 위험이 커짐

 

Recall과 Precision 사이는 trade-off 관계가 존재한다.

Recall과 Precision 둘 다 모두 최대값으로 할 수 없다.

decision threshold(결정 임계값)을 조절하여 recall과 precision을 조절할 수 있다.

임계값이 높을수록 재현율(recall)은 낮아지고, 반대로 (보통) 정밀도(precision)은 높아진다.

 

Precision-Recall Curve (PR curve)

정밀도-재현율 곡선

0부터 1 사이의 모든 임계값에 따라 x축을 재현율(Recall), y축을 정밀도(Precision)로 그린 그림

정밀도와 재현율 모두 높을수록(그래프의 오른쪽 위) 좋은 모델이라고 할 수 있다.

 

Average Precision (AP)

PR curve에서 그래프 선 아래 쪽의 면적

Average Precision이 높으면 높을수록 그 알고리즘의 성능이 전체적으로 우수하다

Recall value [0.0, 0.1, ... , 1.0] 값들에 대응하는 Precision 값들의 Average

 

AP = 왼쪽 큰 사각형의 넓이 + 중간 작은 사각형의 넓이 + 오른쪽 작은 사각형의 넓이

     = 1 * 0.33 + 0.86 * (0.4-0.33) + 0.77 * (0.46-0.44) = 0.4364

 

mAP (mean Average Precision)

클래스가 여러개인 경우 각 클래스당 AP를 구한 다음에 그것을 모두 합한 다음 클래스의 갯수로 나누어준 값

1개의 object당 1개의 AP 값을 구하고, 여러 object-detector 에 대해서 mean 값을 구한 것

mAP란 multiple object detection 알고리즘에 대한 성능을 1개의 scalar value로 표현한 것


Accuracy(정확도)

모델이 입력된 데이터에 대해 얼마나 정확하게 예측하는지를 나타냄

가장 직관적으로 모델의 성능을 나타낼 수 있는 평가 지표

domain의 편중(bias)을 고려해야 하기 때문에 보안 지표 필요

  • 전체 엔티티에 대한 예측 레이블이 해당 엔티티의 정답 레이블과 정확히 일치하는 경우

F1 score

  • Precision과 Recall의 조화평균
  • 데이터의 레이블이 균일하게 분포돼 있을 때는 주로 정확도(accuracy)를 사용
  • 레이블이 데이터 상에서 분균일하게 분포된 경우 F1 점수를 사용하면 정확도보다 나은 성능 평가 비교가 가능
  • F1 점수는 한쪽 레이블에 치우치지 않는 레이블의 전체적인 성능에 대해 올바르게 평가

relaxed f1-score

  • 개체명 엔티티의 일부가 올바르게 식별되는 경우에도 예측이 올바른 것으로 평가

strict f1-score

  • 예측된 정보와 사람의 주석 정보가 정확하게 일치해야만 올바르게 식별된 것으로 평가

Fall-out

FPR(False Positive Rate)으로도 불림

실제 False인 data 중에서 모델이 True라고 예측한 비율

모델이 실제 false data인데 True라고 잘못 예측(분류)한 것

FPR = FP / FP + TN = FP + TN - TN / FP + TN = 1 - TN / FP + TN = 1 - TNR

 

TNR(True Negative Rate)

  • False data를 정확하게 모델이 False라고 예측한 비율
  • specificity (특이도)라고도 부름


ROC (Receiver Operating Characteristic) curve

여러 임계값들을 기준으로 Recall-Fallout의 변화를 시각화한 것

FPR과 Recall 두 지표를 각각 x, y의 축으로 놓고 그려지는 그래프를 해석

Recall (Sensitivity, 민감도, 재현율)에 대한 1-특이도(specificity, TNR) 그래프

  • 1-특이도: 실제 음성인 것 중 양성으로 잘못 예측한 것의 비율
  • 민감도: 실제 양성인 것 중 양성으로 잘 예측한 것의 비율

실제 음성인데 양성으로 잘못 예측한 경우가 적고(1-특이도가 작고), 실제 양성을 양성으로 잘 예측한 경우가 많으면(민감도가 높을수록)

좋은 모델(그래프의 왼쪽 위)이라고 할 수 있다.

ROC curve

 

ROC curve trade-off

Recall (TPR)이 높을수록 분류기가 만드는 거짓 양성(FPR)이 늘어난다.

점선은 완전한 랜덤 분류기의 ROC 곡선을 뜻하며, 좋은 분류기는 이 점섬에서 최대한 멀리 떨어져 있어야 한다(왼쪽 모서리 구간)

 

AUC(Area Under Curve)

ROC curve 그래프의 수치 비교가 어려워 그래프 아래의 면적값을 이용

최대값은 1이며 좋은 모델(Fall-out에 비해 Recall 값이 클수록) 1에 가까운 값이 나옴

 

 

PR curve의 정밀도는 데이터의 불균형에 영향을 많이 받는 것에 반해, ROC curve의 TPR과 FPR은 영향을 받지 않는다.

(실제 양성 중 양성 예측 비율, 실제 음성 중 음성 예측 비율이기 때문에)

PR curve에서는 TN(실제 음성을 음성으로 잘 판단한 경우)이 관여하지 않는다.

즉 음성인 것을 판단하는 비중이 적다는 뜻이며, 반대로 양성을 판단하는 것에 더 집중한다는 뜻이다.

 

PR curve AUC

  • 데이터가 불균형할 때
  • 양성 클래스를 탐지하는 중요도가 음성 클래스를 탐지하는 중요도보다 높을 때 (ex. 암 환자 진단)

 

ROC curve AUC

  • 데이터가 균형일 때
  • 양성 클래스 탐지와 음성 클래스 탐지의 중요도가 비슷할 때 (ex. 개와 고양이 분류)

References

728x90
반응형