Performance measurement of Regression Model

회귀 모델 성능 측정

RMSE(Root Mean Squared Error)

RMSE는 실제 값과 예측 값의 차이를 제곱하여 평균낸 뒤, 그 제곱근을 취한 값이다. RMSE는 예측 오차의 크기를 나타내는 지표로 값이 작을수록 모델의 예측 정확도가 높음을 의미한다. 특히나 연속적인 수치를 예측하는 문제에서 모델의 예측 오차를 측정하는 데 유용하다.

\[RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y_i})^2}\]
  • $y_i$ : 실제 값
  • $\hat{y_i}$ : 예측 값
  • $n$ : 데이터 포인트의 총 개수

RMSE의 특징

RMSE는 큰 오차에 대해 가중치를 더 부여하기 때문에, 모델이 큰 오차를 만드는 경우 이를 포착하기가 수월하다. RMSE는 오차를 제곱하여 계산하기 때문에 실제 값과 예측 값 사이의 차이가 클수록 그 차이를 더욱 확대시킨다는 의미이다. 이는 작은 오차를 더 작게, 큰 오차는 더 크게 만든다. 따라서 RMSE는 예측의 정확도가 매우 중요한 의사 결정이나 비즈니스 프로세스에 사용하기에 유용하다.

다만 RMSE는 모든 오차를 동일하게 취급하지 않기 때문에, 작은 오차가 많은 경우에는 성능이 좋아보이는 오류를 범할 수 있다. 실제로는 많은 수의 작은 오차들로 인해 세부적인 예측 성능이 낮을 수 있으나, 모델이 전반적으로 잘 작동하는 것처럼 보일 수 있다. 따라서 MAE와 같은 다른 지표와 함께 사용하는 것이 좋다.

RMSE는 모델의 예측 오차의 표준 편차를 나타내므로, 모델의 예측이 얼마나 일관되게 떨어져 있는지를 파악할 수 있다. 모델이 일관된 오차를 보인다면, 이는 모델이 안정적이고 예측 가능하다는 신호일 수 있으며, 모델을 신뢰할 수 있음을 의미한다.

RMSE 활용

from sklearn.metrics import mean_squared_error
import numpy as np

# 실제 값과 예측 값
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]

# RMSE 계산
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
print("RMSE:", rmse)

>>RMSE: 0.6123724356957945

MAE(Mean Absolute Error)

MAE는 실제 값과 예측 값의 차이의 절대값을 평균한 것이다. 이 지표는 모델의 예측이 실제 값에서 평균적으로 얼마나 떨어져 있는지를 나타내며, 값이 작을수록 예측의 정확도가 높다는 것을 의미한다. MAE는 이상치로 인한 큰 오차를 특별히 더 중요하게 다루지 않을 때 유용하다.

\[MAE = \frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y_i}|\]
  • $y_i$ : 실제 값

  • $\hat{y_i}$ : 예측 값

  • $n$ : 데이터 포인트의 총 개수

MAE의 특징

MAE는 모든 오차를 동등하게 취급하기에 오차의 크기에 관계없이 모든 오차를 같은 비중으로 다룬다. 또한 MAE는 RMSE와 비교했을 때 오차를 제곱하지 않기 때문에, 큰 오차가 전체 오차 평균에 미치는 영향이 상대적으로 제한된다.

MAE는 실제 값과 예측 값의 차이를 그대로 반영하기 때문에, 모델 성능의 ‘평균적인’ 정확도를 이해하는 데 유용하다. 특히나 오차의 절대 크기가 중요할 때 쓰인다. 그러나 MAE는 큰 오차의 영향을 충분히 반영하지 않기에, 모델이 어떤 상황에서 큰 오차를 발생시킬 수 있는지 추가적인 분석이 필요할 수 있다.




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • [CS231n]Exercise1.5 - Features
  • [CS231n]Exercise1.4 - Two Layer Net
  • [CS231n]Exercise1.3 - Softmax
  • [CS231n]Exercise1.2 - Support Vector Machine