Data Analysis Log

✅ RMSE (Root Mean Squared Error, 평균 제곱근 오차)란?

parkdongchan 2025. 4. 16. 11:06
728x90
반응형

RMSE는 예측값과 실제값 간의 차이를 제곱한 뒤 평균을 내고, 그 평균의 제곱근을 취한 값입니다.
예측 모델의 성능을 평가할 때 가장 널리 쓰이는 지표 중 하나로, 예측 오차의 크기를 직관적으로 나타냅니다.


✅ 1. RMSE 수


✅ 2. RMSE의 특징

항목 설명
단위 실제값과 동일한 단위 (ex: 가격, 온도, 거리 등)
오차 민감도 큰 오차에 매우 민감 → 이상값(outlier)에 영향을 많이 받음
용도 회귀 문제에서 모델 성능을 평가할 때 사용
낮을수록 좋음 RMSE는 0에 가까울수록 예측이 정확함을 의미

✅ 3. RMSE vs MAE 비교

항목 RMSE (Root Mean Squared Error) MAE (Mean Absolute Error)
계산 방식 제곱한 뒤 평균 → 루트 절댓값의 평균
이상값 영향 민감 (큰 오차에 더 큰 패널티) 둔감 (모든 오차를 동일하게 처리)
해석 큰 오차가 중요할 때 사용 일관된 오차 수준을 파악할 때 사용

✅ 4. Python으로 RMSE 계산하기

📌 예제 1: sklearn 사용

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 = mean_squared_error(y_true, y_pred, squared=False) 
print(f"RMSE: {rmse:.3f}")

📌 예제 2: 수식으로 직접 계산

import numpy as np 
y_true = np.array([3, -0.5, 2, 7]) 
y_pred = np.array([2.5, 0.0, 2, 8]) 
mse = np.mean((y_true - y_pred) ** 2) 
rmse = np.sqrt(mse) 
print(f"RMSE: {rmse:.3f}")

✅ 5. RMSE가 낮다는 건 어떤 의미일까?

RMSE  값해석
0 예측이 완벽하게 일치
낮음 (예: 1~2) 모델이 꽤 정확하게 예측함
높음 (예: 10 이상) 예측 오차가 큼 → 모델 개선 필요

예시:

  • 모델이 아파트 가격을 예측하고, RMSE가 1,000이라면 → 예측값이 평균적으로 실제값에서 ±1,000만큼 차이남.

✅ 6. RMSE를 낮추기 위한 방법

  1. 더 좋은 모델 사용: 선형회귀 → 랜덤포레스트, XGBoost, 딥러닝 등
  2. Feature Engineering: 의미 있는 파생 변수 추가
  3. Hyperparameter Tuning: 모델의 학습률, 깊이 등 최적화
  4. 이상치 제거 또는 처리
  5. 데이터 정규화 / 스케일링

🎯 결론

  • RMSE는 회귀 모델에서 예측 정확도를 나타내는 대표 지표입니다.
  • 값이 낮을수록 모델의 성능이 좋다는 의미이며, 실제 단위로 오차를 해석할 수 있어 직관적입니다.
  • ⚠️ 단, 이상치에 민감하기 때문에 데이터 전처리가 중요합니다.

🚀 즉, RMSE는 예측 모델이 실제에 얼마나 가까운지를 보여주는 핵심 지표!

728x90
반응형