비용함수는 학습 데이터의 잔차 오류 값을 최소화하는 RSS 최소화 방법과 과적합을 방지하기 위해 회귀 계수 값이 커지지 않도록 하는 방법이 서로 균형을 이루어야 한다
규제(Regularization) : 비용 함수에 alpha 값으로 페널티를 부여해 회귀 계수 값의 크기를 감소시켜 과적합을 개선
릿지(Ridge)회귀 : L2규제, W의 제곱에 대해 페널티를 부여하는 방식
라소(Lasso)회귀 : L1규제, W의 절댓값에 대해 페널티를 부여하는 방식
릿지 회귀
from sklearn.linear_model import Ridge
from sklearn.model_selection import cross_val_score
#alpha=10으로 설정해 릿지 회귀 수행
ridge = Ridge(alpha = 10)
neg_mse_scores = cross_val_score(ridge, X_data, y_target, scoring='neg_mean_squared_error', cv=5)
rmse_scores = np.sqrt(-1*neg_mse_scores)
avg_rmse = np.mean(rmse_scores)
라쏘 회귀
L2 규제가 회귀 계수의 크기를 감소시키는 데 반해, L1 규제는 불필요한 회귀 계수를 급격하게 감소시켜 0으로 만들고 제거한다. 이러한 측면에서 L1 규제는 적절한 피처만 회귀에 포함시키는 피처 선택의 특성을 가지고 있다
엘라스틱넷 회귀
엘라스틱넷(Elastic Net) 회귀는 L2규제와 L1규제를 결합한 회귀
단점은 시간이 오래 걸린다는 것
ElasticNet 클래스의 주요 생성 파라미터는 alpha와 l1_ratio
'ML' 카테고리의 다른 글
로지스틱 회귀 (0) | 2022.11.19 |
---|---|
선형 회귀 모델을 위한 데이터 변환 (0) | 2022.11.18 |
회귀 (0) | 2022.11.18 |
스태킹 (0) | 2022.11.15 |
언더 샘플링과 오버 샘플링 (0) | 2022.11.15 |