회귀 모델을 만들고 나서 성능을 어떻게 평가할지 처음엔 막막했습니다. 분류는 Accuracy나 F1로 비교적 명확한데, 회귀는 MSE, RMSE, MAE, R² 같은 지표들이 한꺼번에 나오거든요. 어떤 걸 봐야 하는지, 각 지표가 무엇이 다른지 정리해보겠습니다. 📉
1. 오차를 어떻게 측정할 것인가
회귀 모델은 연속형 숫자를 예측합니다. 예측값이 실제값과 얼마나 다른지를 측정하는 게 평가의 출발점입니다. 예측값과 실제값의 차이를 잔차(Residual)라고 하는데, 이 잔차를 어떻게 집계하느냐에 따라 지표의 성격이 달라집니다.
잔차를 그냥 합산하면 양수와 음수가 상쇄됩니다. 예측이 어떤 샘플에서는 과대추정, 어떤 샘플에서는 과소추정을 했어도 합산하면 0에 가까워질 수 있습니다. 이 문제를 해결하는 방법이 두 가지입니다. 잔차를 제곱하거나(MSE, RMSE), 절댓값을 취하거나(MAE). 이 선택이 지표의 특성을 완전히 갈라놓습니다.
잔차를 제곱하면 큰 오차에 더 큰 패널티를 줍니다. 절댓값을 취하면 모든 오차를 동등하게 취급합니다. 어떤 오차가 더 치명적인지가 지표 선택을 결정합니다.
2. 평균 제곱 오차 (MSE)와 RMSE

MSE(Mean Squared Error)는 잔차를 제곱한 뒤 평균을 냅니다. 제곱을 하기 때문에 큰 오차에 불균형적으로 큰 패널티가 붙습니다. 잔차가 1이면 1, 잔차가 10이면 100이 됩니다. 이상값이나 큰 오차가 있는 샘플이 MSE를 크게 올립니다. 모델이 큰 오차를 내는 걸 강하게 억제하고 싶을 때 손실함수로 MSE를 쓰는 이유가 여기 있습니다.
RMSE(Root Mean Squared Error)는 MSE에 제곱근을 취한 값입니다. 단위가 원래 데이터와 같아져서 해석이 쉬워집니다. 집값 예측 모델에서 MSE가 10,000,000이라고 하면 단위가 원(₩)²이 되어 직관적이지 않지만, RMSE는 3,162원으로 읽을 수 있습니다. 실무에서 MSE보다 RMSE를 더 자주 보고하는 이유입니다.
2.1 이상값에 민감하다
MSE와 RMSE의 단점은 이상값에 민감하다는 점입니다. 대부분의 예측이 잘 맞아도 몇 개의 큰 오차가 있으면 지표가 크게 올라갑니다. 이 경우 지표만 보면 모델이 나빠 보이지만, 실제로는 대부분의 케이스에서 잘 동작하는 모델일 수 있습니다. 데이터에 이상값이 많다면 MSE/RMSE만으로 모델을 판단하는 게 위험합니다.
3. MAE
MAE(Mean Absolute Error)는 잔차의 절댓값 평균입니다. 모든 오차를 동등하게 취급하기 때문에 이상값의 영향을 덜 받습니다. 잔차가 1이든 10이든 그 크기 그대로 반영됩니다. 단위도 원래 데이터와 같아서 "평균적으로 예측이 X만큼 틀렸다"고 직접 해석할 수 있습니다.
MAE가 더 적합한 상황이 있습니다. 큰 오차와 작은 오차를 동등하게 취급하고 싶을 때, 혹은 데이터에 이상값이 많아서 MSE가 지나치게 이상값에 끌려가는 상황입니다. 배달 예상 시간 예측처럼 10분 오차와 1분 오차의 비용 차이가 선형적으로 증가하는 경우라면 MAE가 더 자연스러운 지표입니다.
| 지표 | 계산 방식 | 이상값 민감도 | 단위 | 적합한 상황 |
|---|---|---|---|---|
| MSE | 잔차² 평균 | 높음 | 원래 단위² | 큰 오차 강하게 억제할 때 |
| RMSE | √MSE | 높음 | 원래 단위와 동일 | 큰 오차 억제 + 해석 용이 |
| MAE | |잔차| 평균 | 낮음 | 원래 단위와 동일 | 이상값 많거나 오차 동등 취급 |
4. R²
R²(결정계수)는 다른 지표들과 성격이 다릅니다. 오차의 절대적 크기를 보는 게 아니라, 모델이 데이터의 분산을 얼마나 설명하는지를 나타냅니다. 1에 가까울수록 모델이 데이터의 변동을 잘 설명하고, 0이면 평균값으로만 예측하는 것과 다를 바 없다는 의미입니다. 음수가 나오면 평균 예측보다도 못한 모델이라는 뜻입니다.
R²의 장점은 단위에 독립적이라는 점입니다. 집값 예측 모델과 기온 예측 모델의 RMSE는 직접 비교할 수 없지만, R²은 두 모델의 설명력을 같은 기준으로 비교할 수 있습니다. "이 모델은 데이터 분산의 85%를 설명한다"는 식으로 직관적으로 전달됩니다.
4.1 R²의 한계
R²은 피처를 추가할수록 무조건 올라가거나 유지됩니다. 쓸모없는 변수를 추가해도 R²이 감소하지 않기 때문에, 피처 수가 늘어날수록 과적합된 모델을 좋게 평가하는 문제가 있습니다. 이를 보완하기 위해 피처 수에 패널티를 부과하는 Adjusted R²을 씁니다. 피처를 추가했을 때 모델 설명력이 실질적으로 좋아져야만 Adjusted R²이 올라갑니다.
5. 어떤 지표를 써야 하는가
프로젝트 목적에 따라 지표 선택이 달라집니다. 집값 예측처럼 큰 오차가 특히 치명적인 경우라면 RMSE가 적합합니다. 큰 잔차에 더 큰 패널티를 부과하기 때문에 모델이 자연스럽게 극단적인 오차를 줄이는 방향으로 학습됩니다.
배달 시간이나 수요 예측처럼 오차의 비용이 선형으로 증가하는 경우라면 MAE가 더 적합합니다. 이상값에 덜 끌려가고, "평균적으로 얼마나 틀렸는가"를 직접 해석할 수 있어서 비즈니스 팀에 설명하기도 쉽습니다.
R²은 단독으로 쓰기보다 다른 지표와 함께 봅니다. 서로 다른 데이터셋이나 피처 구성을 비교할 때 상대적 설명력을 확인하는 용도로 활용합니다. 다만 R²이 높아도 RMSE나 MAE가 크다면 절대적인 오차 수준에서 여전히 문제가 있을 수 있습니다.
| 상황 | 추천 지표 | 이유 |
|---|---|---|
| 큰 오차가 특히 치명적 | RMSE | 큰 잔차에 제곱 패널티 |
| 이상값 많고 오차 동등 취급 | MAE | 이상값에 강건, 직관적 해석 |
| 다른 모델·데이터와 설명력 비교 | R² / Adjusted R² | 단위 독립적, 상대 비교 가능 |
| 피처 수가 많은 모델 | Adjusted R² | 피처 추가 패널티로 과적합 감지 |
정리
회귀 모델 평가 지표는 어느 하나가 정답이 아닙니다. 처음엔 RMSE만 보다가 이상값이 많은 데이터에서 MAE를 함께 확인하기 시작했고, 모델 비교가 필요할 때 R²을 추가하는 방식으로 점점 조합이 생겼습니다. 지표를 하나만 보면 놓치는 게 반드시 생기더라고요. RMSE와 MAE를 함께 보면 두 값의 차이가 클수록 이상값의 영향이 크다는 신호로도 읽을 수 있습니다. 😊
'AI > ML' 카테고리의 다른 글
| [머신러닝] L1과 L2 정규화 (2) | 2026.06.05 |
|---|---|
| [머신러닝] 과적합, 모델이 외울 때 생기는 일 (0) | 2026.05.31 |
| [머신러닝] 분류 모델 평가 완전 정리 (0) | 2026.05.28 |
| [머신러닝] SVM, 마진을 설계하는 모델 (0) | 2026.05.28 |
| [머신러닝] XGBoost & LightGBM: 부스팅은 왜 순서가 중요한가 (0) | 2026.05.25 |
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.