본문 바로가기
인공지능 (AI)

분류(Classification) 성능 평가지표, 정확도, Precision, Recall, F1-score 쉬운 설명

by 뉴디라 2023. 5. 1.

1. 기계학습 분류(Classification) 성능 평가지표 정확도(Accuracy)란?

 

머신러닝이란? (기계학습이란?) 매우 매우 쉬운 설명

안녕하세요! 오늘은 머신러닝 (우리말로 기계학습)에 대해 알려드리려고 해요. 머신러닝은 인공지능 기술의 한 분야입니다. 인간의 지능을 흉내내기 위한 기술인거죠! 머신러닝은 컴퓨터가 스

ai-inform.tistory.com

  • 정확도(Accuracy)는 기계학습 분류 모델의 성능을 평가하는 지표 중 하나로, 전체 샘플 중 모델이 올바르게 분류한 샘플의 비율을 나타냅니다.
  • 예를 들어, 어떤 학생이 10문제의 수학 시험을 보았습니다. 이 학생이 8문제를 맞췄다면, 이 학생의 정확도는 80%입니다. 이는 전체 문제 중 8문제를 맞췄기 때문입니다.

 

 

2. 정확도(Accuracy)로 충분하지 않은 이유

  • 정확도는 모델의 성능을 평가하는 지표 중 하나이지만, 모델이 다루는 데이터의 클래스 비율이 불균형할 경우, 정확도는 잘못된 평가를 할 수 있습니다.
  • 예를 들어, 암을 분류하기 위한 기계학습 모델을 학습하는 경우를 생각해 봅시다. 양성(암) 클래스의 데이터가 10% 밖에 되지 않는 다고 가정하면, 모델이 모든 샘플을 음성(정상)으로 예측해도 정확도는 90%가 나오기 때문입니다.
  • 이러한 경우, 90%의 정확도를 보고 모델의 분류 성능이 좋다고 할 수 없습니다.

 

 

3. TP, FP, TN, FN

  • 정확도 이외의 분류성능 평가지표를 소개하기 위해 먼저 TP, FP, TN, FN의 개념을 살펴보겠습니다.
실제값 / 예측값 양성(Positive) 음성(Negative)
양성(Positive) True Positive(TP) FN(False Negative)
음성(Negative) FP(False Positive) TN(True Negative)
  • TP(True Positive)는 모델이 양성(Positive)으로 예측한 것 중 실제로 양성인 것의 수를 나타냅니다.
  • TN(True Negative)은 모델이 음성(Negative)으로 예측한 것 중 실제로 음성인 것의 수를 나타냅니다.
  • FP(False Positive)는 모델이 양성으로 예측한 것 중 실제로 음성인 것의 수를 나타냅니다.
  • FN(False Negative)는 모델이 음성으로 예측한 것 중 실제로 양성인 것의 수를 나타냅니다.

 

 

4. Recall, Precision 정의 및 예시

  • Recall(재현율)
    • 실제 양성인 것 중 모델이 양성으로 예측한 것의 비율을 나타내는 지표입니다.
    • Recall은 모델이 양성인 것을 놓치지 않는 것이 중요한 경우에 사용됩니다.
    • 예를 들어, 암 진단 모델에서는 암 환자를 놓치지 않는 것이 중요하기 때문에 Recall이 중요한 지표입니다.
    • Recall = TP / (TP + FN)
  • Precision(정밀도)
    • 모델이 양성으로 예측한 것 중 실제로 양성인 것의 비율을 나타내는 지표입니다.
    • Precision은 모델이 양성으로 예측한 것 중에서 실제로 양성인 것이 얼마나 많은지에 대한 정보를 제공합니다.
    • 예를 들어, 스팸 메일 필터링 모델에서는 정상 메일을 스팸으로 분류하는 것을 방지하기 위해 Precision이 중요한 지표입니다. 
    • Precision = TP / (TP + FP)
  • 이제 Recall과 Precision을 예시를 통해 이해해보겠습니다.
    • 예를 들어, 어떤 의료 모델이 암을 진단하는데 사용된다고 가정해봅시다. 이 모델은 100명의 환자를 진단하였고, 그 중 80명이 실제로 암이었습니다. 모델은 90명을 양성으로 예측하였고, 그 중 70명이 실제로 암이었습니다.
      • Recall(재현율)은 다음과 같이 계산됩니다.
      • Recall = TP / (TP + FN) = 70 / (70 + 10) = 0.875
      • 따라서, 이 모델의 Recall은 0.875입니다. 이는 모델이 실제로 암인 환자 중 87.5%를 정확하게 예측했다는 것을 의미합니다.
      • Precision(정밀도)은 다음과 같이 계산됩니다.
      • Precision = TP / (TP + FP) = 70 / (70 + 20) = 0.778
      • 따라서, 이 모델의 Precision은 0.778입니다. 이는 모델이 양성으로 예측한 환자 중 77.8%가 실제로 암이었다는 것을 의미합니다.

 

 

5. F1-score 정의 및 필요한 이유

  • F1-score가 필요한 이유
    • Recall과 Precision은 각각 모델의 성능을 평가하는 지표 중 하나이지만, 두 지표를 동시에 고려하지 않으면 문제가 발생할 수 있습니다.
    • 예를 들어, Recall이 높은 모델은 양성 클래스를 놓치는 경우가 많아서 실제로는 성능이 매우 낮을 수 있습니다. 반대로, Precision이 높은 모델은 음성 클래스를 양성으로 잘못 분류하는 경우가 많아서 실제로는 성능이 매우 낮을 수 있습니다.

  • F1-score 정의
    • Recall과 Precision의 조화평균으로, 두 지표의 균형을 나타내며 다음과 같이 계산됩니다.
    • F1-score = 2 * (Precision * Recall) / (Precision + Recall)
    • F1-score는 모델의 성능을 평가하는 지표 중 하나로, Recall과 Precision이 모두 중요한 경우에 사용됩니다.
    • F1-score는 Recall과 Precision이 모두 높은 경우에 높은 값을 가지며, 둘 중 하나라도 낮은 경우에는 낮은 값을 가집니다. 

 

댓글