회귀는 연속적인 값을 예측하는 모델로 예측값과 실제값의 오차를 계산해 성능을 측정한다.
오차 기반의 손실 함수(loss function)의 값이 낮을 수록 좋은 회귀 모델이라고 할 수 있다.
1. MSE (Mean Squared Error)
회귀 모델의 성능을 평가할 때 가장 널리 사용하는 지표 중 하나이다.
예측값과 실제값의 차이를 제곱하여 평균한 값을 의미한다.

오차를 제곱하기 때문에, 큰 오차에 더 민감하게 반응한다. -> 이상치(outlier)에 민감하다.
2. RMSE (Root Mean Squared Error)
MSE의 제곱근을 취한 값으로 실제값과 예측값의 차이를 원래 단위로 표현할 수 있어서 MSE에 비해 해석이 더 쉽다.
하지만 마찬가지로 제곱 기반이기 때문에 outlier에 민감하다.

3. MAE (Mean Absolute Error)
예측값과 실제값 사이의 오차를 절댓값으로 계산한 뒤 평균을 구한 값이다.

오차의 평균 크기를 그대로 나타내기 때문에 직관적이고 해석이 쉬우며 이상치(outlier)에 덜 민감하다.
4. MAPE ( Mean Absolute Percentage Error)
실제값 대비 예측 오차가 몇퍼센트로 발생했는지를 나타내는 지표이다.
절댓값 오차를 실제 값으로 나눈 뒤, 평균에 100을 곱해 백분율로 표현한다.

5. MPE (Mean Percentage Error)
예측값이 실제값에 비해 평균적으로 몇%만큼 과대 또는 과소 예측되었는지를 나타내는 지표이다.
MAPE와 달리 오차의 부호(sign)가 존재한다.

6. R² (결정계수)

주의점
SST의 값은 단순히 실제값들이 얼마나 퍼져있는가, 즉 데이터 자체의 분산을 의미하는 것으로 모델의 성능을 의미하지 않는다.
또한 SSR은 모델 성능을 간접적으로 반영하지만 단독으로 성능을 판단할 수는 없다.

SSR과 SST를 비교한 R^2 계수를 성능 지표로 사용하게 되는데 1에 가까울수록 좋은 모델을 의미한다. 그런 관점에서 보면 SSR이 클수록 1에 가까워지므로 좋다고 판단할 수 있지만 다음의 예시와 같은 상황이 발생할 수 있으므로 SST와 SSR을 모두 고려해서 판단해야 한다.
▶ Case A (좋은 모델)
- 실제값: [100, 200, 300]
- 예측값: [100, 200, 300]
- 평균: 200
SSR = (100-200)² + (200-200)² + (300-200)² = 10000 + 0 + 10000 = 20000
SSE = 0
여기서는 SSR이 크고 SSE가 0이므로 좋은 모델을 의미하지만
▶ Case B (나쁜 모델인데 SSR은 크다)
- 실제값: [100, 200, 300]
- 예측값: [300, 200, 100] ← 거꾸로 예측함
- 평균: 200
SSE = (100-300)² + (200-200)² + (300-100)² = 40000 + 0 + 40000 = 80000
