정확도와 오차행렬 (Accuracy and Confusion matrix)

2021. 10. 11. 14:22·[AI] - Machine Learning

이번 포스트에서는 모델의 성능을 평가하기 위한 지표에 대해서 알아볼 것이다. 그중에서 가장 직관적인 방법인 정확도와 정확도의 한계점을 보완하기 위한 오차행렬에 대해서 알아본다.

 

정확도는 실제 데이터와 예측 데이터가 얼마나 같은지를 판단하는 지표이다.

 

정확도의 공식은 다음과 같다.

 

정확도는 쉽고 직관적이지만, 불균형한 데이터 세트에서는 적절하지 않다. 예시를 들자면, 100개의 데이터중 True가 90개, False가 10개가 있다고 가정하자. 이러한 경우 무조건 결과를 True로 반환하는 경우 정확도는 90%가 된다. 정확도가 가지는 한계점을 극복하기 위해 여러가지 분류 지표를 적용해야 한다.

 

앞에서 언급한 여러가지 분류 지표의 기반이 되는 개념은 오차행렬에 대해서 알아보겠다. 오차행렬을 도식화하면 다음과 같다.

오차행렬로부터 도출해낼 수 있는 지표들은 여러가지이다. 그중에서 대표적으로 재현율 (Recall)과 정밀도 (Precision)가 있다. 재현율의 공식은 다음과 같다.

재현율 공식
정밀도 공식

 

이 두 가지 지표를 어떻게 활용하느냐? 그것은 상황에 따라 달렸다. 예시를 들어보겠다.

 

재현율이 중요한 지표인 경우 : 실제 Positive를 Negative로 잘못 판단하면 큰 문제인 경우

-> 실제 Positive (TP + FN), Negative로 잘못 판단 (FN)

ex) 암 양성을 음성으로 판단하면 위험한 경우

 

정밀도가 중요한 지표인 경우 : 실제 Negative를 Positive로 잘못 판단하면 큰 문제인 경우

-> 실제 Negative (TN + FP), Positive로 잘못 판단 (FP)

ex) 스팸 음성(일반 메일)을 양성(스팸 메일)으로 판단하여 못읽는 경우

 

결론 

재현율과 정밀도 모두 TP를 높이는데 초점이 맞춰져 있지만, 재현율은 "FN을 낮추는 데에", 정밀도는 "FP를 낮추는 데에" 초점이 맞춰져 있다.

 

다음 포스트에서는 정밀도와 재현율의 관계와 이를 기반으로 하는 F1 스코어, ROC 커브에 대해서 다루겠다.

'[AI] - Machine Learning' 카테고리의 다른 글

의사 결정 나무 (Decision Tree)  (0) 2021.10.24
F1 스코어와 ROC 커브  (0) 2021.10.17
Feature Scaling and Normalization (StandardScaler, MinMaxScaler)  (0) 2021.04.16
Data Preprocessing (Label Encoder, One-Hot Encoder)  (0) 2021.04.13
GridSearchCV  (0) 2021.04.12
'[AI] - Machine Learning' 카테고리의 다른 글
  • 의사 결정 나무 (Decision Tree)
  • F1 스코어와 ROC 커브
  • Feature Scaling and Normalization (StandardScaler, MinMaxScaler)
  • Data Preprocessing (Label Encoder, One-Hot Encoder)
Bebsae
Bebsae
  • Bebsae
    뱁새zip
    Bebsae
  • 전체
    오늘
    어제
    • 분류 전체보기 (108)
      • [DevOps] - Kubernetes (5)
      • [DevOps] - AWS (1)
      • [AI] - Machine Learning (19)
      • [AI] - Neural Network (7)
      • [CS] - Network (2)
      • [CS] - Data Structure (3)
      • [CS] - Design Pattern (6)
      • [Language] - Python (15)
      • [Library] - Numpy (7)
        • Quick Start (5)
        • API (2)
      • [Framework] - Django (3)
      • [Framework] - QGIS (6)
      • [Framework] - PyQT (4)
      • [Mathematics] - Linear Alge.. (14)
      • [Mathematics] - Statistical (2)
      • [ETC] - Python (3)
      • [ETC] - C++ (1)
      • [ETC] - Linux (1)
      • 논문 (5)
      • 회고록 (3)
      • 생산성 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    신경망
    Python
    RNN
    분해
    QGIS
    디자인패턴
    algebra
    Learning
    DEEPLEARNING
    decomposition
    linearalgebra
    파이썬
    Linear
    Machine
    선형대수
    교차검증
    numpy
    MachineLearning
    머신러닝
    Convolution
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Bebsae
정확도와 오차행렬 (Accuracy and Confusion matrix)
상단으로

티스토리툴바