본문 바로가기
Python/ML&DL

[파이썬, Python] 평가지표 - MSE, MAE, RMSE

by coding-choonsik 2023. 6. 23.
728x90
반응형
SMALL

1. MSE(Mean Squared Error, 평균 제곱근 오차)

  • 예측값과 실제값의 차이에 대한 제곱에 대하여 평균을 낸 값

 

p = np.array([3,4,5])  # 예측값
act = np.array([1,2,3])  # 실제값 (오차가 있는것!)

def my_mse(pred, actual):
  return ((pred-actual) ** 2).mean()
  
my_mse(p, act)    # 수가 크던 작던 상관x, 다른 값과 비교대상으로 사용하기 위함(상대적으로 적은 값이 더 실제값과 가깝다라고 평가)
>>> 4.0

 

 

2. MAE(Mean Absolute Error, 평균 절대값 오차)

  • 예측값과 실제값의 차이에 대한 절대값에 대하여 평균을 낸 값
  • 절대값은 미분하기 어렵기때문에 MAE 평가지표를 머신러닝, 딥러닝에서 주로 사용하지 않음

def my_mae(pred, actual):
  return np.abs(pred-actual).mean()
  
my_mae(p, act)
>>> 2.0

 

3. RMSE(Root Mean Squared Error)

  • 예측값과 실제값의 차이에 대한 제곱에 대하여 평균을 낸 후 루트를 씌운 값
  • 오차값의 숫자가 작아지기 때문에 성능과 속도를 향상시킬 수 있음
  • 머신러닝, 딥러닝에서 정수부분을 크게하는것보다 소수점 수를 연산하는 것이 좋음

 

def my_rmse(pred,actual):
  return np.sqrt(my_mse(pred, actual))
  
my_rmse(p, act)
>>> 2.0

 


# 모듈 불러오기
from sklearn.metrics import mean_absolute_error, mean_squared_error

# MAE
mean_absolute_error(p, act)
>>> 2.0

# MSE
mean_squared_error(p, act)
>>> 4.0

# RMSE : squared=False 옵션으로 구할 수 있음
mean_squared_error(p, act, squared=False)   
>>> 2.0

728x90
반응형
LIST