본문 바로가기
전공/머신러닝

[ML] 머신러닝 평가지표, Confusion Matrix/Accuracy/MSE..

by mhiiii 2024. 11. 20.
728x90

모델 성능 평가란?

실제값과 모델이 예측한 값의 오차가 얼마나 작은지 평가하는 것

 

성능 평가는 실제값이 있어야 평가할 수 있어 지도학습에서 사용

 

머신러닝의 지도학습은

  1. 분류
  2. 회귀

로 나뉜다.

 

예측하려는 Target이 범주형 데이터이면 분류,

수치형 데이터라면 회귀 문제.

 

분류냐, 회귀냐에 따라 평가지표가 달라짐

 

분류, Classification

정확도(accuracy)

 

정확도는 모델의 예측이 얼마나 정확한지를 의미

계산 방법 : (예측 결과가 동일한 데이터 개수)/(전체 예측 데이터 개수) 

 

  • 라벨 불균형인 데이터에서는 사용하면 안됨

 

오차 행렬 (Confusion Matrix)

 

오차 행렬은 모델이 예측을 하면서 얼마나 헷갈리고 있는지를 보여주는 지표

 

  • 주로 이진 분류에서 많이 사용
  • 참고로 정확도는 (TN + TP) / (TN + FP + FN + TP)로 계산

True Positive는 긍정으로 예측을 했는데 실제로 긍정인 경우

False Positive는 긍정으로 예측했는데 실제로 부정인 경우

False Negative는 부정으로 예측했는데 실제로 긍정인 경우

True Negative는 부정으로 예측했는데 실제로 부정인 경우

 

정밀도(precision)

 

예측을 긍정으로 한 데이터 중 실제로 긍정인 비율

 

TP / (FP + TP)

 

재현율(recall)

 

실제로 긍정인 데이터 중 긍정으로 예측한 비율

 

TP / (FN + TP)

 

F1-Score

 

정밀도와 재현율 한 쪽에 치우치지 않고 둘 다 균형을 이루는 것을 나타낸 것

 

둘의 조화 평균으로 나타낼 수 있음

 

ROC-AUC

 

ROC는 FPR(False Positive Rate)가 변할 때 TPR(True Positive Rate)가 어떻게 변하는지를 나타내는 곡선

 

 

FPR이란 FP / (FP + TN)

TPR은 TP / (FN + TP)으로 재현율

 

분류 결정 임계값을 변경함으로써 FPR을 움직일 수 있음

 

FPR이 0이 되려면 임계값을 1로 설정 -> 그럼 긍정의 기준이 높으니 모두 부정으로 예측될 것

반대로 1이 되려면 임계값을 0으로 설정 -> 모두 긍정으로 예측

 

이렇게 임계값을 움직이면서 나오는 FPR과 TPR을 각각 x와 y 좌표로 두고 그린 곡선이 ROC

AUC는 ROC 곡선의 넓이를 말한다. AUC가 높을수록 즉, AUC가 왼쪽 위로 휘어질수록 좋은 성능이 나온다고 판단

 


회귀, Regression

MSE

 

평균 제곱 오차

RMSE

 

평균 제곱근 오차

  • 작을 수록 좋은 모델
MAE

 

평균 절대 오차

 

실제 Target 값과 예측값 차의 절댓값 평균

R-Squared

 

예측 타깃값의 분산 / 실제 타깃값의 분산

  • 다른 지표와 다르게 1에 가까울수록 모델 성능이 좋다

 

Reference

https://github.com/boost-devs/ai-tech-interview/blob/main/answers/2-machine-learning.md#1

728x90