[머신러닝] 7. 지도학습(회귀): 라쏘 회귀

PurinYun·2023년 11월 23일
0

AIffel

목록 보기
29/75

라쏘 회귀

• 오버피팅 문제로 규제(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

⇒ 릿지와 라쏘의 차이

:

  • 가중치 제한 방식:
    ◦ 릿지 회귀는 가중치의 제곱합을 제한하는 방식으로 과적합을 방지합니다. 이 방식은 가중치의 절대 크기를 제한하므로 모든 특성의가중치가 비슷하게 작아지는 경향이 있습니다.
    ◦ 라쏘 회귀는 가중치의 절대값의 합을 제한하는 방식으로 과적합을 방지합니다. 이 방식은 일부 가중치를 0으로 만들어 불필요한 특성을 제거하는 효과가 있습니다.
  • 특성 선택:
    ◦ 릿지 회귀는 가중치를 작게 만들지만 0으로 만들지는 않습니다. 따라서 모든 특성이 최종 모델에 포함됩니다.
    ◦ 라쏘 회귀는 일부 가중치를 0으로 만들어 불필요한 특성을 제거합니다. 이는 특성 선택(feature selection)이 자동으로 이루어진다는 것을 의미하며, 이로 인해 더 간단하고 해석하기 쉬운 모델을 얻을 수 있습니다.

릿지 회귀는 모든 특성이 중요하거나 특성 간의 상관관계가 높은 경우에 좋으며, 라쏘 회귀는 일부 특성만 중요하거나 특성 간의 상관관계가 낮은 경우에 좋습니다.

profile
Fantivation

0개의 댓글