본문 바로가기
모두의 연구소_아이펠학교 대전 1기_2021/스터디 자료

오차행렬(confusion_matirx)

by 꾸덕 2021. 1. 9.
728x90

정의

= 오차행렬은 머신러닝에서 분류모델이 정확한지 평가할 수 있는 행렬이다.

= 이진 행렬으로 되어 있다.

=정답과 오답을 구분하여 표현하는 방법이다.  

 

특징

-행은 실제 값이 맞는지 아닌지를 나타낸다.

-열은 예측한 값이 positive or negative 인지 나타낸다.

-2*2 행렬로 나타나며 T or F 는 예측한 값이 실제와 일치한다는 걸 의미한다.

 

TP,FN,FP,TN의 수치로 성능지표는 계산된다. 이 수치를 활용해서 정밀도, 재현율, 정확도 F1스코어를 나타낸다.

1. Precision(정밀도)

"모델의 예측값"이 실제와 맞는지 평가하는 부분 

1째 행에 속하는 부분

TP/TP+FN = 정밀도

 

2. Recall(재현율)

기계의 예측이 맞았는지 평가하는 부분이다. 

TP/TP+FP = 재현율 

 

3. accuarcy (정확도)

모델이 입력한 데이터를 정확하게 결정했는지 평가하는 부분이다.

행의 대각선에 해당하는 부분.

TP/TP+TN = 정확도

 

정밀도와 재현율은 같은 분자를 같고 있다.

TP는 맞게 맞단한 양성이라서 높을수록 좋다. 

계산은 실제 값을 평가하는 정밀도를 먼저 살펴본다. 

분모인 FP(아닌데 맞다고 판단)와 FN(맞는데 아니라고 판단) 은 낮을 수록 좋다. 

정밀도는 FP는 아닌데 맞다고 판단한 경우가 적어야 한다.

재현도는 FN은 맞는데 아니라고 판단한 경우가 적어야 한다.

 

즉, 정밀도와 재현도 모두 값이 클수록 좋다. 

 

예시를 통해서 확인하자.

스팸메일을 분류하는 모델을 예시로 들어보자. 스팸메일을 positive, 정상메일을 negative로 생각한다.

이때 precision 척도가 더 중요할까? recall 척도가 더 중요할까?

스팸메일을 정상메일이라고 하는 경우는 괜찮다.

하지만. 정상메일을 스팸메일이라고 하는 경우는 문제가 있다. 

즉, FP 값이 중요하다. 따라서 Precision이 더 중요하다. 

 

암환자를 진단할 경우는 어떻까?

암에 걸린 환자를 실수없이 아는 것이 중요하다. 암환자인데 아니라고 하면 안되기에 recall 값이 더 중요하다

728x90