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: