회귀 모델을 훈련해 최적의 회귀계수를 구할수 있습니다. 최적 회귀계수를 구하려면 예측값과 실젯값의 차이, 즉 오차를 최소화해야 합니다. 오차가 작다는 말은 주어진 데이터에 회귀 모델이 잘 들어맞는다는 뜻입니다.
회귀 평가지표 값이 작을수록 모델 성능이 좋습니다.
-
MAE(Mean Absolute Error) : 평균 절대 오차
-
MSE(Mean Squared Error) : 평균 제곱 오차
-
RMSE (Root Mean Squared Error ) : 평균 제곱근 오차
-
MSLE (Mean Squared Log Error) : MSE에서 타깃값에 로그를 취한 값
-
RMSLE (Root Mean Squared Log Error) : MSLE에 제곱근을 취한 값
-
R2 : 결정계수
예제
사이킷런의 metrics 라이브러리를 활용해 회귀 평가 지표값을 구하기
import numpy as np
# MAE, MSE, MSLE, R2 임포트
from sklearn.metrics import mean_absolute_error, mean_squared_error, mean_squared_log_error, r2_score
true = np.array([1, 2, 3, 2, 3, 5, 4, 6, 5, 6, 7, 8, 8]) # 실제값
preds = np.array([1, 1, 2, 2, 3, 4, 4, 5, 5, 7, 7, 6, 8]) # 예측값
MAE = mean_absolute_error(true, preds)
MSE = mean_squared_error(true, preds)
RMSE = np.sqrt(MSE)
MSLE = mean_squared_log_error(true, preds)
RMSLE = np.sqrt(mean_squared_log_error(true, preds))
R2 = r2_score(true, preds)
# 출력
print(f'MAE:\t {MAE:.4f}')
print(f'MSE:\t {MSE:.4f}')
print(f'RMSE:\t {RMSE:.4f}')
print(f'MSLE:\t {MSLE:.4f}')
print(f'RMSLE:\t {RMSLE:.4f}')
print(f'R2:\t {R2:.4f}')
==> 상관계수