AI/DeepLearning

회귀모델의 판별식 R2, RMSE

soccerda 2020. 6. 23. 23:52
반응형
#RMSE 구하기
from sklearn.metrics import mean_squared_error
def RMSE(y_test, y_predict):
   return np.sqrt(mean_squared_error(y_test, y_predict))
print("RMSE : ", RMSE(y_test, y_predict))

RMSE(평균 제곱근 오차 , Root Mean Squared Error)는 회귀 분석을 평가할 때 가장 많이 쓰는 지표 중 하나이다.

 

RMSE는 함수가 내장되어 있지 않아 함수를 직접 구현해야 한다.

from sklearn.metrics import mean_squared_error

MSE에 루트를 씌운 것이 RMSE이다.

원래 데이터에서 평균을 뺀 값을 제곱하여 모두 더한 뒤 전체 개수로 나눈 값에 루트를 씌운 것이다. RMSE는 낮을수록 정밀도가 높다. 대략 1보다 낮은 값은 좋다고 생각한다. 0.000001이면 매우 좋다.

 

R2

R2 Score, R제곱, 설명력, 결정계수 등 일반적으로 R2, 또는 결정계수로 많이 부른다.

RMSE와 반대로 높을수록 좋은 지표이다. max는 1이다. 0~1 사이의 수치가 값으로 전달된다.

 

# R2 구하기
from sklearn.metrics import r2_score
r2_y_predict = r2_score(y_test, y_predict)
print("R2 : ", r2_y_predict)
반응형