본문 바로가기
성장하기

[E-2] Classification, Confusion Matrix, Accuracy, Precision, Recall, F1 Score

by 예시카의 일상 블로그 2021. 1. 8.

Opening


Q. 이번에 배울 내용을 기반으로 다양한 클래스 분류에 도전할 수 있는데, 어떤 클래스를 분류하고 싶은 지에 다양한 후보 군들에 대한 질문으로 시작해 보면 어떨까요?

[예시 답안] 자동차 클래스 분류, 음식 클래스 분류, 패션 카테고리 분류, 액세서리 디자인 모티브 분류 등

Check-up 항목


Q. 어떤 경우에 정밀도(Precision), 재현율(Recall, Sensitivity), 정확도(Accuracy), F1 스코어(f1 score)를 더 중요하게 보는지 서론 토론하면서 각 개념을 명확하게 이해하도록 유도하는 것이 필요해 보입니다.

[예시 답안]

 

Confusion Matrix

 

계산 방식



1. 정밀도(Precision)를 중요하게 보는 경우 (Precision은 모델의 입장에서 바라 봄)

  • 정밀도란 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율
  • 날씨 예측 모델이 맑다로 예측했는데, 실제 날씨가 맑았는지를 살펴보는 지표
  • 광고 집단의 타켓 추출 시(광고에 반응한다고 했는데, 실제로 광고에 반응하는지 살펴보는 지표, 광고 비용을 절감하기 위해서 광고 노출 시 반응할 고객 위주로 정밀도를 높여서 진행함), 영화/음악 추천 경우 (싫어하는 영화/음악을 추천하면 고객의 거부감이 커지기 때문에 안전하게 Precision 위주로 판단함)

 

2. 재현율(Recall, Sensitivity, Hit Ratio) 중요하게 보는 경우 (Recall은 실제 정답의 입장에서 바라 봄

  • 재현율이란 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율
  • 실제 날씨가 맑은 날 중에서 모델이 맑다고 예측한 비율을 나타낸 지표
  • 자사 쇼핑몰 안에서 구매전환율을 높일 때(자사몰에 들어온 사람은 구매 의향이 어느 정도 된다는 가정을 해도 되므로 실제 구매한 사람 중에서 구매한다고 예측하는 확률을 높이고자 함)

 

3. 정확도(Accuracy)를 중요하게 보는 경우

  • 지금까지는 True를 True라고 옳게 예측한 경우에 대해서만 다루었지만, False를 False라고 예측한 경우도 옳은 경우입니다. 이때, 해당 경우를 고려하는 지표가 바로 정확도(Accuracy)입니다.
  • 가장 직관적으로 모델의 성능을 나타낼 수 있는 평가 지표이다.
  • 하지만, 여기서 고려 해야 하는 것이 있다. 바로 domain의 편중(bias)이다.
  • 만약 우리가 예측하고자 하는 한 달 동안이 특정 기후에 부합하여 비오는 날이 흔치 않다고 생각해 보자. 이 경우에는 해당 data의 domain이 불균형하므로 맑은 것을 예측하는 성능은 높지만, 비가 오는 것을 예측하는 성능은 매우 낮을 수 밖에 없다. 따라서 이를 보완할 지표가 필요하다.

 

4. F1 스코어를 중요하게 보는 경우 (Precision과 Recall의 조화 평균)

  • 데이터 label이 불균형 구조일 때, 모델의 성능을 정확하게 평가할 수 있으며, 성능을 하나의 숫자로 표현할 수 있다.
  • 조화평균을 이용하면 산술평균을 이용하는 것보다, 큰 비중이 끼치는 bias가 줄어든다고 볼 수 있다.

 

5. 평가지표에 대해서 채점하다가 더 좋은 설명이 있어서 추가합니다. 

  • 재현율은 실제 참(TP+FN) 중에서 참 긍정(TP)의 비율로 모델이 실제 참 중에서 얼마나 참 긍정을 구하였는가를 판단하는 지표가 됩니다.
    • 재현율은 거짓 부정으로 판단 시 위험이 큰 경우 중요한 지표가 되는데, 대표적으로 종양 음성, 양성 판정이 있습니다. 음성 종양을 양성 종양으로 판단한 경우(거짓 긍정, FP)보다 양성 종양을 음성 종양(거짓 부정, FN)으로 판단한 경우 더 위험하며, 거짓 부정 FN이 크면 클수록 재현율은 떨어지게 됩니다.
    • 사기 여부의 판단 시에도 사기가 아닌데 사기로 판단하는 경우(거짓 긍정, FP)보다 사기인데 사기가 아닌 것으로 판단시(거짓 부정, FN) 위험하며 재현율이 중요 지표로 사용될 수 있습니다.
  • 정밀도는 참이라 판단한 경우(TP+FP)에서 참 긍정(TP)의 비율로 모델이 참 판단 중에서 실제 참을 얼마나 정밀하게 판단했는가를 나타냅니다. 정밀도는 거짓 긍정의 영향이 큰 경우 중요하게 사용됩니다.
    • 정밀도가 중요 지표인 대표적인 경우로 스팸 메일 판단할 때인데, 스펨 메일을 일반 메일로 판단하는 경우(거짓 부정, FN)보다 일반 메일을 스펨 메일로 판단(거짓 긍정, FP)하여 중요한 메일이 스팸처리되어 못받는다면 위험이 더 크다고 볼수 있습니다.
  • 정밀도와 재현율을 정리하면, 안 좋은 것을 좋은 것으로 판단 시 위험한 경우 재현율, 좋은 것을 안좋은것으로 판단시 위험한 경우 정밀도를 중요하게 보아야 합니다.
  • F1 스코어는 정밀도와 재현율의 길항관계(한쪽이 커지면 다른 한쪽이 줄어드는 관계)로 인한 단점을 보완해주기 위한 지표로 정밀도와 재현율의 조화 평균으로 구합니다. 그래서 F1 스코어는 두 지표가 균형을 이룰때 가장 큰 값이 되며, 한 지표가 커 질수록 작은 값이 되는 특성을 갖고 있습니다. 정밀도와 재현율이 가장 균형을 이루는 지점을 찾기 위해 사용하곤 합니다.

Closing


Q. 손글씨, 와인, 유방암 3가지 각각의 경우에 대해서 어떤 지표를 기반으로 성능을 평가하면 좋은지 함께 토론해 보고, 본인이 얻은 인사이트를 프로젝트 결과에 함께 제출해 보도록 하면 좋겠습니다.

[예시 답안]

  • 손글씨: 은행이나 비즈니스에서 사용하는 경우가 많으므로 (데이터 label이 불균형이 아니라면) Accuracy를 높여야 하고, (데이터 label이 불균형이라면) F1 스코어로 판단함
  • 와인: 선호도가 분명한 상품이므로 Precision을 높여야 함 (취향이 아닌 와인을 추천하면 고객의 불만이 커짐)
  • 유방암: Recall 높여야 함 (학습 데이터의 모수가 작은 실제 암환자인 사람들을 빠지지 않고 최대한 찾아내서 암에 걸렸다고 판단해야 하므로)

댓글