성능 측정 지표 MAE, MSE, RMSE, MAPE, MPE, MSLE

듐바·2023년 6월 10일

통계학과 개념

목록 보기
2/3

**1. MAE (Mean Absolute Error)**

  • 실제 값과 예측 값의 차이(Error)를 절대값으로 변환해 평균화을 낸 값이다. 작을 수록 좋은 성능을 나타내지만, 해당 모델이 과적합일 수 도 있다.
  • MAE는 에러에 절대값을 취하기 때문에 에러의 크기 그대로 반영된다. 그러므로 예측 결과물의 에러가 10이 나온 것이 5로 나온 것보다 2배가 나쁜 도메인에서 쓰기 적합한 산식이다.
  • 에러에 따른 손실이 선형적으로 올라갈 때 적합하다.
  • 이상치가 많을 때 영향을 받는다.
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, y_pred)

**2. MSE (Mean Squared Error)**

  • 실제 값과 예측 값의 차이를 제곱해 평균화
  • 예측값과 실제값 차이의 면적의 합
  • 특이값이 존재하면 수치가 많이 늘어난다.
from sklearn.metrics import mean_squared_error 
mean_squared_error(y_test, y_pred)

**3. RMSE (Root Mean Squared Error)**

  • MSE 값은 오류의 제곱을 구하므로 실제 오류 평균보다 더 커지는 특성이 있어 MSE에 루트를 씌운 RMSE 값을 쓴다.
  • 에러에 제곱을 하기 때문에 에러가 크면 클수록 그에 따른 가중치가 높이 반영된다. 그러므로 예측 결과물의 에러가 10이 나온 것이 5로 나온 것보다, 정확히 2^2(4)배가 나쁜 도메인에서 쓰기 적합한 산식이다.
  • 에러에 따른 손실이 기하 급수적으로 올라가는 상황에서 쓰기 적합하다.
from sklearn.metrics import mean_squared_error 
MSE = mean_squared_error(y_test, y_pred) 
np.sqrt(MSE)

**4. MSLE (Mean Squared Log Error)**

  • MSE에 로그를 적용해준 지표
from sklearn.metrics import mean_squared_log_error
mean_squared_log_error(y_test, y_pred)

**5. MAPE (Mean Absolute Percentage Error)**

  • MAE를 퍼센트로 변환
  • MAE와 같은 단점
  • 모델에 대한 편향이 존재
def MAPE(y_test, y_pred):
	return np.mean(np.abs((y_test - y_pred) / y_test)) * 100 
    
MAPE(y_test, y_pred)

**6. MPE (Mean Percentage Error)**

  • MAPE에서 절대값을 제외한 지표
  • 모델이 underperformance(+) 인지 overperformance(-) 인지 판단
def MAE(y_test, y_pred): 
	return np.mean((y_test - y_pred) / y_test) * 100)
    
MAE(y_test, y_pred)
방법Full잔차 계산이상치 영향
MAEMean Absolute ErrorAbsolute ValueYes
MSEMean Squared ErrorSquareNo
RMSERoot Mean Squared ErrorSquareNo
MAPEMean Absolute Percentage ErrorAbsolute ValueYes
MPEMean Percentage ErrorN/AYes
profile
AI 공부하고 있는 취준생

0개의 댓글