본문 바로가기
💻 CS/머신러닝

[ML] 선형회귀의 score 값의 의미? (R-squared 결정계수 vs RMSE)

by Safetymo 2022. 12. 12.

선형 회귀 모델을 사용하게되면, 선형회귀의 성능을 측정하는 score 값을 사용하게 되는데

해당 값이 의미하는게 정확히 무엇일까?

 

결론부터 말하면, R-squared 값으로 결정계수, 설명력이라고 불리는 값이다.

 

 

R2 Score와 RMSE Score 차이점

 

R2  = 결정계수, 설명력, R-squared, R^2

RMSE = 평균제곱근 오차, Root Mean Square Error

 

R2(R-squared) : 독립 변수가 종속 변수를 얼마나 잘 설명하는지 보여주는 지표

-> 쉽게 말하면, 모델로 만들어진 회귀식이 얼마나 잘 예측(설명) 하는지에 대한 지표

-> 범위는 0 ~ 1 사이의 값으로, 1이면 오차가 없는 것(다 맞춤) / 0 이면 전혀 예측을 못하는 것(= 평균으로 찍어도 같음)

-> 음수면 평균으로 예측하는 것보다 예측을 못하는 것

=> 0.1 이면 10% 설명력, 0.9면 90% 설명력을 가지고 있다고 말함

 

실제값, 예측값, 평균값 사이의 분산을 통해 매긴 점수로

 (Sum of Squared Total): 실제값 - 평균의 제곱의 합
 (Sum of Squared Error): 예측값 - 평균의 제곱의 합
 (Sum of Squares due to Regression): 실제값 - 예측값의 제곱의 합

 

즉, 해석하면 실제값과 예측값이 같으면 SSR이 0이 돼서 R2의 값은 1이 되고,

SSR이 SST와 같으면(편차) 평균으로 예측한 것과 차이가 없어서 설명력이 0이 된다. 

 

 

 

RMSE : 평균제곱근 오차, 실제값과 예측값의 차이를 나타내는 척도

-> 실제값에서 예측값을 뺀 뒤 제곱한 것의 평균의 루트 값

-> 쉽게 말하면, 예측한 값이 실제값하고 얼마나 차이있는 지를 볼 수 있는 척도

-> 추가로 오차를 제곱한 것을 평균냈기 때문에 더 많이 틀린 오차에 대해 더 많은 패널티를 준다.

 

 

MAE : 평균절대오차

-> 평균 오차를 볼 수 있다.

MSE : 평균제곱오차

-> 더 많이 틀린 오차에 더 패널티를 준 값을 볼 수 있다.

 

즉, 타겟의 값들과 비교해서 많이 틀린 오차들이 얼마나 있는 지에 대해 알 수 있다.

톡톡 뒤는 값들이 많을 때 숫자가 높게 나오는 경향이 있다.

 

 

결론

 

둘다 모델이 얼마나 잘 예측하는지를 보여주는데,

 

R2 는 모델이 평균으로 예측한 것에 대비해서 얼마나 잘 예측하고 있는지 알려주고

RMSE 는 모델이 얼마나 큰 오차들을 갖고 있는지에 대해 알려준다.

 

두 값은 범위와 목적이 다르기 때문에 필요에 따라 활용하면 된다.

 

 

이어서, 선형회귀에서 RMSE를 사용하는 이유(MAE)에 대해서 알아보도록 하겠다.

또, 회귀와 분류 모델에서 사용하는 score에 대해서도 추가로 알아볼 예정

댓글