본문 바로가기
코딩💻

[Machine learning] 과적합,과소적합, 회귀모델의 평가지표(MAE,MSE,RMSE)

by 하암꿈 2022. 11. 16.
728x90

과적합, 과소적합, MAE, MSE, RMSE, R-squared

 

 

 

회귀모델의 평가지표들(evaluation metrics)

MAE : 절대평균오차 [Robust하다 : 데이터가 예민하지않고 비교적 안정적인 (민감한 데이터의 반대)]

MSE : 오차제곱평균 [좀더 민감하다]

RMSE : 오차제곱평균의 제곱근

R-squared : 1에 가까울수록 데이터를 잘 설명하는 모델

 

 

 

과소적합, 과적합

  • 분산-편향은 Trade-off 관계에 있다.
  • 편향이 크면 과소적합(Under-fitting)
    • 과소적합 : 데이터의 특성을 제대로 반영하지못해 일반화가 어려운것
  • 분산이 크면 과적합(Over-fitting)
    • 과적합 : 너무 지나치게 적합

 

 

## 다중선형회귀 예시 코드
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error

# 객체생성
model = LinearRegression()

# 타겟설정
target = 'price'
y_train = train[target]
y_test = test[target]

# 다중모델 학습을 위한 특성
features = ['bathrooms', 
            'sqft_living']
X_train = train[features]
X_test = test[features]

# 모델 fit
model.fit(X_train, y_train)

# 훈련한 모델에 테스트 데이터의 피쳐를 넣어 예측값 도출
y_pred = model.predict(X_test)

# 평균 제곱 오차값 구하기 : 테스트 데이터의 타깃값과 예측값이 얼만큼 차이가 있는지?
mae = mean_absolute_error(y_test, y_pred)

print("테스트 세트의 MAE값 :", mae)

 

300x250