본문 바로가기
python

[데이터 분석] 머신러닝의 Confusion Matrix와 평가 지표에 대한 이론

by 포 키 2023. 8. 18.
728x90

 

 

오늘의 포스팅은 머신러닝을 활용할 때 가장 중요하게 보는 Confusion Matrix에 대해 작성해보자 한다.

머신러닝의 모델을 고를 때, 정확도를 판별해서 어떤 모델을 사용하는 것이 가장 성능이 좋을지 파악한다.

그러나, 이 정확도 라는 것은 말 그대로 모델의 성능을 파악하고 고르는 기준이 될 뿐.

우리가 중요하게 여겨야 하는 것은 정밀도재현율이다.

그리고 F1 스코어는 정밀도와 재현율 두 가지를 중요하게 고려하는 평가 지표이다.

 

 

1. Confusion Matrix

정밀도와 재현율에 대해 알려면 먼저 예측값과 실제값에 대한 관계에 대해 알아야 한다.

크게 4가지로 분류할 수 있다.

불과 올해 초 까지만 해도 기승을 부린 코로나 감염에 대해 예를 들어보겠다.

몸살 기운이 너무 심하고 열이 나서 신속항원검사를 받았는데 음성이 떴고, pcr을 해보니 양성이었을 때.

신속항원검사는 정밀 검사가 아니라 간이 검사로 예측값에 해당하고 pcr은 정밀 검사로 실제값에 해당한다.

이 경우 실제값은 양성이지만, 예측값은 음성으로 오진이 판정됐다.

이것을 머신러닝 Confusion Matrix로 보면 False Positive(FP) 로 분류한다.

아래에 4가지 항목에 대한 설명을 해두겠다.

True Positive (TP) : 실제 양성인 샘플을 모델이 정확하게 양성으로 예측한 경우의 수
False Positive (FP) : 실제 음성인 샘플을 모델이 잘못하여 양성으로 예측한 경우의 수
True Negative (TN) : 실제 음성인 샘플을 모델이 정확하게 음성으로 예측한 경우의 수
False Negative (FN) : 실제 양성인 샘플을 모델이 잘못하여 음성으로 예측한 경우의 수

 

gpt가 그려준 표

 

 

 

2. 정밀도란?

데이터를 기준으로 예측 성능에 초점을 둔 하나의 평가 지표이다.

우리가 모델을 이용해서 정확도가 낮더라도 결과적으로 잘못된 예측을 하지 않았다면, 신뢰도는 높다.

그렇기 때문에 이 예측에 대해 우리는 정밀도가 높을수록 더 좋은 예측을 한 것이라고 할 수 있다.

우리가 위에서 Confusion Matrix의 4가지 항목에 대해 알아본 이유가 있다.

정밀도는 양성으로 예측한 샘플 중에서 실제 양성인 샘플의 비율이다.

수식으로 작성하면 아래와 같다.


정밀도(Precision) = TP / (TP + FP)

 

빨간 박스 부분이 분모, 파란 박스 부분이 분자를 나타냄

 

 

 

3. 재현율이란?

재현율 역시 정밀도와 같은 평가 지표 중 하나이다.

둘 중 조금 더 중요한 평가 지표를 고르라면, 재현율이 더 중요하다.

재현율이 높아야 더 좋은 예측을 했다고 할 수 있다.

재현율은 실제 양성인 샘플 중에서 모델이 양성으로 예측한 샘플의 비율이다.

수식으로 작성하면 아래와 같다.


재현율(Recall 또는 Sensitivity) = TP / (TP + FN)

 

빨간 박스 부분이 분모, 파란 박스 부분이 분자를 나타냄

 

 

 

4. F1 score?

 F1 스코어는 정밀도와 재현율 두 가지를 중요하게 고려하는 평가 지표로, 두 가지의 조화 평균을 나타낸다.

정밀도와 재현율을 서로 상충관계를 가진다.

정밀도를 높이면 재현율이 낮아지고, 재현율을 높이면 정밀도가 낮아지는 것이 일반적이다.

그래서 F1 스코어가 정밀도와 재현율의 지표를 균형이 잡히도록 해주며, 모델의 성능을 종합적으로 평가하도록 한다.

F1 스코어는 양성 클래스에 불균형이 있거나 정밀도와 재현율을 모두 고려해야 할 때 중요한 평가 지표이다.

수식으로 작성하면 아래와 같다.


F1 스코어(F1 Score) = 2 * (정밀도 * 재현율) / (정밀도 + 재현율)

 

728x90