Snoopy [ML] 6. 회귀모델 성능평가지표, 분류모델 성능평가지표
머신러닝과 딥러닝/ML 개념정리

[ML] 6. 회귀모델 성능평가지표, 분류모델 성능평가지표

Sooyoon Jeong 2022. 10. 31.

멋쟁이 사자처럼 AI스쿨 7기 박조은 강사님의 수업내용 및 자료를 바탕으로 포스팅하였습니다.


1. MAE(Mean Absolute Error)

(예측값 - 실제값)의 절대값에 대한 평균

 

2. MAPE(Mean Absolute Percentage Error)

(실제값 - 예측값 / 실제값)의 절대값에 대한 평균

 

3. MSE(Mean Squared Error)

(실제값 - 예측값)의 제곱의 평균
MAE와 비슷해 보이나 제곱을 통해 음수를 양수로 변환함
분산과 유사한 공식

 

4. RMSE(Root Mean Squared Error)

MSE의 제곱근

표준편차와 유사한 공식

 

5. R^2 결정계수

1- (관측 값과 예측 값 차의 제곱합) / (관측 값과 측정값 전체 평균의 제곱 합)

 

✏️ MAE, MAPE, MSE, RMSE 모두 값이 작을 수록 좋지만 R^2는 값이 클수록 좋다.

 

6. RMSLE

 


Q. MAE말고 MSE/RMSE를 쓰는 이유 (절대값 대신 제곱을 하는 이유는?)

오차가 크면 클수록 큰 페널티를 줄 수 있기 때문에 MAE 대신 MSE를 사용하고

(깡패같은 수준으로 스케일링 가능)

2차 함수를 생각하면 편리한데,

x축의 값이 너무 커지거나 작아지는 경우(즉 오차의 절대값이 커질 수록)

y축의 값이 너무 커지기 때문에 MSE 대신 루트를 씌운 RMSE를 사용하는 것

 

따라서, 현실에서는 MAE는 거의 안쓰고 RMSE를 주로 사용한다.

(그런데, 값이 커지면 커질수록 MAE값과 RMSE값이 유사해진다.)

 

RMSE는 MAE에 비해 직관성은 떨어지지만,  robust하다는 점에서 강점을 보인다고 할 수 있다.

 

또한 기울기를 봤을 때, MAE는 기울기의 차이를 확인할 수 없지만

MSE는 기울치의 차이를 확인할 수 있다.

 

Q. 성능지표에 절대값을 사용하면 어떤 문제가 있을까?

<집값 예측>

A아파트: 1억을 2억으로 예측

B아파트: 100억을 110억으로 예측

 

*MAE

A아파트: 1억 잘못 예측

B아파트: 10억 잘못예측

=> A아파트가 더 잘 예측했다.

 

*MSE

A아파트: 1억 ** 2

B아파트: 10억 ** 2

 

*MAPE

A 아파트: 2배 잘못예측

    ※ (2-1)/1 = 1

B 아파트: 1.1배 잘못예측

    ※ (110-100)/100 = 0.1

=> B아파트가 더 잘 예측했다.

 

Q.  회귀에서 Accuracy를 사용하지 않는 이유

분류의 경우 내가 만든 모델이 잘 예측했는지 확인하기 위해 정답값과 예측값을 비교해 적중률을 계산하고

이것이 바로 Accuracy이다.

 

그러나, 회귀에서는 정답 값에 소수점 끝자리까지 정확하게 예측하기가 어렵다.(아무래도 수치형 변수이다 보니..)

따라서 정답값과 예측값이 똑같은지 비교하는 Accuracy 보다는

정답값과 예측값의 차이(=오차)가 얼마나 적은지를 기준으로, 내가 만든 모델이 예측을 잘 했는지 평가한다.

 

그리고 그 오차를 평가하는 지표로 MAE, MAPE, MSE, RMSE 등등이 있는 것이다.


🔗 참고자료

오늘코드 박조은 강사님 강의자료

 

댓글