본문 바로가기
Experience/- KT AIVLE School

KT AIVLE School 4주차 정리 - Regularization

by Yoojacha 2023. 2. 27.
  • 불필요한 x (변수, feature) 의 가중치를 규제를 통해 조절해주어 성능을 향상시키는 방법입니다!
  • 중요한 x 만 가중치를 주도록 하게 됩니다.
  • 학습 성능 : model.score(x_train, y_train)
  • 평가 성능 : model.score(x_test, y_test)

Linear Regression

  • x 값이 많아지면 모델이 복잡해져서 학습성능은 높으나 평가성능은 낮은 과적합이 발생할 수 있다.

Ridge, RidgeCV

  • Linear Regression의 과적합을 막기 위해 가중치의 크기를 줄이면서 제어 가능
  • 줄이는 방법은 알파값을 조절, 불필요한 가중치를 0으로 바꾸지 않음.
  • RidgeCV를 통해 최선의 알파값을 찾아서 과적합을 줄여서 평가성능을 높임

Lasso, LassoCV

  • 필요없는 가중치의 경우에 가중치를 0으로 바꿔서 제거
  • LassoCV를 통해 최선의 알파값을 찾아서 과적합을 줄여서 평가성능을 높임

Elasticnet, ElasticnetCV

  • Ridge 와 Lasso 둘다 사용하는 하이브리드형
  • model.l1_ratio_ : l1, l2 규제의 비율
  • model.alpha_ : 알파 값

가중치 시각화

plt.figure(figsize=(16, 8))
plt.bar(x=range(1, 501), height=model.coef_)
plt.show()

댓글