본문 바로가기

Machine Learning/회귀(Regression)

Regression - 모델 평가 : MSE, MAE, RMSE, RMSLE, R-Squared

반응형

 

MSE

 

L2-norm

 

회귀 모델의 주요 손실함수

 

예측값과 실제값의 차이인 오차들의 제곱 평균으로 정의한다.

 

제곱을 하기 때문에 특이치(아웃라이어)에 민감하다.

 

 

 

 

 

MAE

 

L1-norm

 

실제값과 예측값의 차이인 오차들의 절댓값 평균

 

MSE보다는 특이치에 덜 민감하다.

 

 

 

 

 

RMSE

 

 

MSE에 root를 씌운 값

 

오류 지표를 실제 값과 유사한 단위로 다시 변환하기에 해석이 다소 용이해진다.

 

 

 

 

 

RMSLE

 

log(0)이 나오는 것을 방지하기 위해 +1을 해주었다.

 

 

오차를 구할 때 RMSE와는 log를 추가하는 점이 다르다.

 

 

 

 

RMSLE의 특징

 

1. 아웃라이어에 덜 민감하다. (robust) : 아웃라이어가 있더라도 값의 변동폭이 크지 않다.

 

 

 

2. 상대적 Error를 측정해준다. 

 

값의 절대적 크기가 커지면 RMSE의 값도 커지지만, RMSLE는 상대적 크기가 동일하다면 RMSLE의 값도 동일하다.

 

예측값 = 100, 실제값 = 90일 때, RMSLE = 0.1053, RMSE = 10

예측값 = 10,000, 실제값 = 9,000일 때, RMSLE = 0.1053, RMSE = 1,000

 

 

 

 

3. Under Estimation에 큰 패널티를 부여

 

https://www.danielsobrado.com/post/loss-functions-mae-mape-mse-rmse-and-rmsle/

 

RMSLE 그래프를 보면 예측값이 실제값보다 작을 경우 더 큰 패널티를 부여한다.

 

 

택시를 타고 이동한다고 가정했을 때

 

예측 소요 시간이 30분이라고 했으나 실제로 40분이 걸린다면 (예측값 < 실제값)

 

소비자가 더 분노하는 것과 비슷한 개념이다.

 

 

 

 

 

 

R-Squared (결정계수)

 

분산기반 예측 성능 평가

 

다른 MAE, MSE 등과 같은 지표들는 데이터의 scale에 따라 값이 다르지만

 

R2은 상대적인 성능이 어느정도인지 직관적으로 판단할 수 있다.

 

 

 

 

 

정리

 

  평가 지표
0에 가까울 수록 좋은 성능 MSE, MAE, RMSE, RMSLE
1에 가까울 수록 좋은 성능 R-Squared

 

절대적으로 좋은 평가지표는 없으니 도메인 전문가와 상의를 하거나

 

또는 경진대회라면 해당 대회가 요구하는 평가방식에 맞출 필요가 있다.

 

 

 

 

 

데이터 불러오기

 

https://steadiness-193.tistory.com/269

 

Regression - FIFA 이적료 예측 : 전처리

dacon.io/competitions/open/235538/data/ [스포츠] 해외 축구 선수 이적료 예측 미션 출처 : DACON - Data Science Competition dacon.io 각 컬럼의 정보 id 선수 고유의 아이디 name 이름 age 나이 continent 선..

steadiness-193.tistory.com

 

위 포스팅에서 전처리 완료한 데이터를 이용한다.

 

 

모델은 XGBRegressor를 사용한다.

 

 

R2 값은 1에 가깝고 나머지 평가 지표는 0에 가까워 학습과 예측이 잘 된 모델이라고 평가할 수 있다.

 

단, RMSE와 RMSLE는 하나의 함수가 없기 때문에 

 

mean_squared_error와 mean_squared_log_error에 np.sqrt로 루트를 씌워줘야 한다.

 

 

 

참조

rk1993.tistory.com/entry/%EB%AA%A8%EB%8D%B8-%EC%84%B1%EB%8A%A5-%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C-%ED%9A%8C%EA%B7%80-%EB%AA%A8%EB%8D%B8-%EB%B6%84%EB%A5%98-%EB%AA%A8%EB%8D%B8

bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-17-%ED%9A%8C%EA%B7%80-%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C

medium.com/analytics-vidhya/root-mean-square-log-error-rmse-vs-rmlse-935c6cc1802a

mjgim.me/2018/02/28/regression.html

반응형