라쏘 회귀(Lasso Regression)는 선형 회귀(Linear Regression)에 L1 정규화(Regularization)를 추가한 모델입니다.
라쏘(Lasso)는 Least Absolute Shrinkage and Selection Operator의 약자로, 변수 선택(Feature Selection) 기능을 제공하는 것이 특징입니다.
라쏘 회귀는 불필요한 변수의 회귀 계수를 0으로 만들어 모델을 간소화하는 역할을 합니다.
따라서 고차원 데이터에서 중요하지 않은 변수를 자동으로 제거하는 데 유용합니다.
라쏘 회귀는 기존 선형 회귀의 비용 함수(손실 함수)에 L1 패널티를 추가한 형태입니다.
✅ 변수 선택(Feature Selection) 기능 제공
✅ 과적합 방지
✅ L1 정규화 적용
✅ 다중 공선성 해결 가능
비교 항목 | 릿지 회귀 (Ridge) | 라쏘 회귀 (Lasso) |
---|---|---|
정규화 방식 | L2 정규화 (제곱합) | L1 정규화 (절댓값 합) |
과적합 방지 | 가능 | 가능 |
변수 선택 기능 | 없음 | 있음 (일부 가중치를 0으로 만듦) |
다중 공선성 해결 | 효과적 | 효과적이지만 릿지보다 덜 안정적 |
모델 해석 | 복잡 (모든 변수 사용) | 간결 (불필요한 변수 제거) |
💡 릿지는 모든 변수를 사용하지만 가중치를 줄이고, 라쏘는 불필요한 변수는 완전히 제거함.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import Lasso
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_regression
# 데이터 생성
X, y = make_regression(n_samples=100, n_features=10, noise=10, random_state=42)
# 데이터 스케일링
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 훈련/테스트 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 라쏘 회귀 모델 학습
lasso = Lasso(alpha=0.1) # λ = 0.1
lasso.fit(X_train, y_train)
# 회귀 계수 확인
print("Lasso 회귀 계수:", lasso.coef_)
# 중요하지 않은 변수들은 계수가 0이 됨
plt.bar(range(len(lasso.coef_)), lasso.coef_)
plt.xlabel("Feature Index")
plt.ylabel("Coefficient Value")
plt.title("Lasso Regression Coefficients")
plt.show()
📌 일부 계수가 0이 되는 것을 확인할 수 있음!
즉, 불필요한 변수를 자동으로 제거하는 효과가 있음.
✅ 변수 선택이 필요한 경우
✅ 고차원 데이터셋을 다룰 때
✅ 과적합을 방지하고 싶을 때
✅ 모델을 해석하기 쉽게 만들고 싶을 때
라쏘 회귀(Lasso Regression) 는 선형 회귀에 L1 정규화를 적용하여 불필요한 변수를 자동으로 제거하는 모델입니다.
고차원 데이터에서 변수 선택(Feature Selection)이 필요할 때 유용하며, 과적합을 방지하는 데에도 효과적입니다. 🚀
오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…
1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…
시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…
BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…
1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…