회귀 모델 성능평가지표 : MAE, MSE, RMSE, R2 Score

  • 회귀모델의 대표적인 성능 지표를 알아보는 글입니다.
  • 회귀 모델에서는 얼마나 정확하게 그 값을 예측하는 지가 중요합니다. y값의 형태는 낙찰가격처럼 연속된 실수형태이기 때문에, 그 값을 정확하게 예측하거나 가장 근사치로 예측하는 것이 가장 중요합니다. 따라서 회귀모델에서의 성능평가 지표는 실제y값과 예측y값을 비교합니다.
  • 대표적인 성능평가 지표에는 다음과 같은 4가지 종류가 있습니다.
  1. MAE (Mean Absolute Error)
  2. MSE (Mean Squared Error)
  3. RMSE (Root Mean Squared Error)
  4. R2 Score (Coefficient of Determination) : 결정 계수

1. MAE (Mean Absolute Error)

  • MAE 계산 순서

    1. 오차 = 실제값 - 예측값
    2. 절댓값 오차 : |오차|
    3. 모든 데이터의 오차를 구해야 하므로 시그마를 취함
    4. 오차의 전체 분포 파악을 위해 평균을 취함
  • 위 계산 순서를 수식으로 표현하면 다음과 같습니다.

$$MAE = \frac { { \Sigma |y_{true}-y_{pred} | } } {n}$$

  • MAE의 특징
    • Error의 절대값을 취하기 때문에, 에러의 크기가 그대로 반영됨
    • 평균값이기 때문에, 개별 데이터의 에러의 평균 통계량을 의미
    • 에러에 따른 Loss 가 선형적으로 올라갈 때 적합
    • 이상치가 많을 때 주로 사용

2. MSE (Mean Squared Error)

  • MSE 의 계산 순서

    1. 오차 = 실제값 - 예측값

    2. 오차의 제곱

    3. 모든 데이터의 오차를 구해야하므로 시그마를 취함

    4. 오차의 전체 분포 파악을 위해 평균을 취함

  • 수식 표현

    $$MSE = \frac { { \Sigma (y_{true}-y_{pred})^2 } } {n}$$

  • MSE 의 특징

    • MAE 는 Loss 에 대해 그대로 반영하는 반면, MSE 는 에러의 제곱을 해주므로, 해당 Loss 를 좀더 강력히 제재하는 효과를 가집니다.
    • 따라서 이상치가 있는 경우, 에러가 크게 측정되는 경향 이를 모델에 활용
    • 다만 이 에러의 영향을 크게 하여, 모델 성능을 높이려는 목적

3. RMSE (Root Mean Squared Error)

  • RMSE 계산 순서

    1. 오차 = 실제값 - 예측값

    2. 오차의 제곱

    3. 모든 데이터의 오차를 구해야하므로 시그마를 취함

    4. 오차의 전체 분포 파악을 위해 평균을 취함

    5. 평균값에 루트

  • 수식표현

    $$RMSE = \sqrt { \frac { {\Sigma (y_{true}-y_{pred})^2} } {n}}$$

  • RMSE 의 특징

    • MSE 의 값은 오차를 제곱해 계산하는 식으로, 그 값이 매우 커지는 경향이 있음
    • 이를 보완하기 위해, Root 를 씌움
    • 또한 성능평가 수치가, y 예측 값과 그 단위가 같으므로 직관적인 에러수치
    • 에러에 따른 Loss 가 기하 급수적으로 올라가는 상황에서 쓰기 적합
    • MAE 와 함께 가장 일반적으로 많이 쓰이는 회귀모델 성능분석지표

4. R2 Score (Coefficient of Determination : 결정계수)

  • R2 Score 는 실제 y의 변동량 대비 모델 예측 y의 변동량을 의미

    • 즉, 실제 y값의 분산에 비해, 예측 y의 분산이 얼만큼인지 비교
    • 해당 회귀 모델이 주어진 데이터에 얼마나 적합한지를 평가하는 지표
    • 상관관계가 높을수록 1에 가까워짐
    • (해석 예시) r2 score=0.4라면, 40%의 설명력을 가진다고 해석
  • MAE, MSE, RMSE 는 에러에 대한 수치이므로, 그 수치가 작을 수록 좋은 지표

  • R2 Score 는 1에 가까울 수록 성능이 좋음

  • R2 Score 계산

    $$R^2 Score=1-\frac {SSE} {SST} = 1- \frac {MSE} {Var(y) }$$

    $$SSE=\frac {1} {n} \Sigma (y_{true}-y_{pred})^2$$

    $$SST=\frac {1} {n} \Sigma (y_{true}-y_{mean})^2$$

회귀 모델 성능평가지표 : MAE, MSE, RMSE, R2 Score

https://emjayahn.github.io/2022/02/10/Regression-Score/

Author

Emjay Ahn

Posted on

2022-02-10

Updated on

2022-02-10

Licensed under

Comments