• 오버피팅 문제로 규제(regularization)를 적용한 모델
• 규제 방식: L1 규제 (중요한 피처만 선택하는 특성)
• L2에 비해 회귀 계수를 급격히 감소시켜 중요하다고 생각하는 피처만 선택하고 나머지는 0으로 만듦
alpha는 학습 데이터 적합 정도와 회귀 계수 값을 크기 제어를 수행하는 튜닝 파라미터
# 라쏘 회귀
from sklearn.linear_model import Lasso
model = Lasso(alpha=1)
model.fit(X_train, y_train)
pred = model.predict(X_test)
mean_squared_error(y_test, pred)
# 회귀 계수
coef = pd.DataFrame(data=model.coef_, index=X_train.columns, columns=['alpha1'])
coef
# 라쏘 회귀 (alpha=2)
model = Lasso(alpha=2)
model.fit(X_train, y_train)
pred = model.predict(X_test)
mean_squared_error(y_test, pred)
# 회귀 계수 (alpha=2)
coef['alpha2'] = model.coef_
coef
# 라쏘 회귀 (alpha=0.05)
model = Lasso(alpha=0.05)
model.fit(X_train, y_train)
pred = model.predict(X_test)
mean_squared_error(y_test, pred)
# 회귀 계수 (alpha=0.05)
coef['alpha0.05'] = model.coef_
coef
:
⇒ 릿지 회귀는 모든 특성이 중요하거나 특성 간의 상관관계가 높은 경우에 좋으며, 라쏘 회귀는 일부 특성만 중요하거나 특성 간의 상관관계가 낮은 경우에 좋습니다.