분류 성능 평가 지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도)

이현우·2023년 2월 2일
1

머신러닝

목록 보기
5/5
post-thumbnail

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니다.

Confusion Matrix (오차 행렬)

모델을 평가하는 요소는 결국, 모델이 내놓은 답과 실제 정답의 관계로써 정의를 내릴 수 있습니다. 정답이 True와 False로 나누어져 있고, 분류 모델 또한 True False의 답을 내놓습니다. 그러면 분류 모델의 예측 값과 실제 값의 관계를 아래와 같이 2X2 matrix로 case를 나누어 볼 수 있는데 이러한 행렬을 Confusion Matrix(오차 행렬)라고 합니다.

예시를 들어보겠습니다. 만약 암을 예측하는 모델을 만들었다면 그 결과는 아래 4가지 중 하나일 것입니다.

  • 실제로 암이고, 모델의 예측값도 암인 경우 (True Positive)
  • 실제로 암인데, 모델의 예측값은 암이 아닌 경우 (False Positive)
  • 실제로 암이 아닌데, 모델의 예측값은 암인 경우 (False Negative)
  • 실제로 암이 아닌데, 모델은 예측값은 암이 아닌 경우 (True Negative)

용어가 어렵다면 예측값이 진짜인지 가짜인지를 생각하시면 됩니다.
모델의 예측값이 암이 아니라고(Negative) 했는데, 실제로 암(Positive) 이라면 예측 값인 Negative가 틀렸으므로 False Negative(FN)이고, 반대로 모델의 예측값이 암이라고(Positive) 했는데, 실제로 암이 아니라면(Negative) 예측 값인 Positive가 틀렸으므로 False Positive(FP) 입니다.

분류 모델의 성능 평가 지표 살펴보기

예시 데이터로 암을 예측하는 모델에 대해Confusion Matrix(오차 행렬)을 보겠습니다.

모델의 정확도를 위해 1000명을 대상으로 테스트한 오차 행렬(Confusion Matrix)입니다.

Accuracy (정확도)

정확도(Accuracy)란 분류 모델이 얼마나 정확하게 분류했는지 평가하는 지표입니다.

따라서 정확하게 분류한 값에 해당하는 TP와 FP를 전체 샘플의 수로 나누어 계산합니다. 예시를 보면 (50 + 850) / 1000 = 0.9로 90%의 정확도를 보이고 있습니다.

Accuracy(정확도)만 봐선 안되는 이유

이처럼 target이 편향되어 있거나 하는 경우에는 정확도 만으로는 모델의 성능을 파악하기 어렵습니다. 그러므로 이런 경우에는 모델의 성능 평가를 위해 Precision(정밀도)과 Recall(재현율)을 확인하는 것이 좋습니다.

Precision (정밀도)

정밀도란 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율입니다.

Positive 정답률, PPV(Positive Predictive Value)라고도 불립니다. 암 예측 모델이 암으로 예측했는데 실제 암인지 살펴보는 지표라고 할 수 있습니다. 예시 데이터에선 50 / (50 + 20) = 약 0.71로 71% 정도로 확인 가능합니다.

Recall (재현율)

재현율이란 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율입니다.

Accuracy, Precision, Recall 정리

  • Accuracy(정확도)는 전체 예측에 대해 얼마나 올바르게 예측했는지에 대한 지표입니다.
  • Precision(정밀도)는 얼마나 정확하게 암이라고 예측하는지에 대한 지표입니다.
  • Recall(재현율)은 실제 암인 사람에 대해서 얼마나 정확하게 암이라고 예측하는지에 대한 지표입니다.
profile
GitHub - https://github.com/jenu8628

1개의 댓글

comment-user-thumbnail
2023년 7월 23일

안녕하세요. ^^ 오차행렬 이미지를 좀 써도 될까 허락을 구합니다 수업용 교재(미판매용)로요..

답글 달기