>  기사  >  기술 주변기기  >  Lasso 회귀 예시: 특징 선택 방법에 대한 자세한 설명

Lasso 회귀 예시: 특징 선택 방법에 대한 자세한 설명

PHPz
PHPz앞으로
2024-01-23 09:27:111318검색

Lasso 회귀 예시: 특징 선택 방법에 대한 자세한 설명

Lasso 회귀는 기능 선택에 사용되는 선형 회귀 모델입니다. 손실 함수에 L1 정규화 항을 추가하면 일부 특징의 계수를 0으로 설정하여 특징 선택 목적을 달성할 수 있습니다. 다음에서는 올가미 회귀 방법을 자세히 설명하고 예제와 해당 Python 코드를 제공하겠습니다.

올가미 회귀 방법

올가미 회귀의 손실 함수는 다음과 같습니다.

L(beta)=frac{1}{2n}sum_{i=1}^{n}(y_{ i }-sum_{j=1}^{p}x_{ij}beta_{j})^{2}+lambdasum_{j=1}^{p}|beta_{j}|

선형 회귀 분석에서 , 중요한 개념은 정규화입니다. 그 중 n은 샘플 개수, p는 특징 개수, y_{i}는 i번째 샘플의 라벨, x_{ij}는 i번째 샘플의 j번째 특징값, beta_를 나타냅니다. {j}는 j번째 특성 계수를 나타내고, 람다는 정규화 강도를 나타냅니다. 정규화의 목적은 모델의 특성 계수에 페널티를 적용하여 과적합을 방지하고 모델의 복잡성을 제어하는 ​​것입니다. 정규화에서는 람다 값이 클수록 모델이 기능에 더 강한 페널티를 적용합니다. 이로 인해 일부 특성의 계수가 0이 되어 모델의 특성 수가 줄어듭니다. 정규화를 통해 불필요한 기능을 줄이면서 예측 결과에 가장 큰 영향을 미치는 기능을 유지하도록 선택할 수 있습니다. 이는 모델을 단순화하고 일반화 능력을 향상시킵니다. 따라서 정규화를 선택할 때 올가미 회귀의 최적화 목표는 다음과 같습니다.

hat{beta}=argmin_{beta}frac{1}{2n}sum_{i=1}^{n}(y_ {i}-sum_ {j=1}^{p}x_{ij}beta_{j})^{2}+lambdasum_{j=1}^{p}|beta_{j}|

lasso 회귀 솔루션 방법은 다음을 사용할 수 있습니다. 좌표 하강 방법 또는 최소 각도 회귀 방법. 좌표 하강법은 한 번에 하나의 계수만 최적화하고 수렴할 때까지 다른 계수를 변경하지 않고 유지하는 반복 최적화 방법입니다. 최소 각도 회귀 방법은 모든 계수를 동시에 최적화하여 최종 모델을 얻는 직접 솔루션 방법입니다.

Lasso 회귀의 예 및 코드

아래에서는 실제 데이터 세트를 사용하여 Lasso 회귀의 특징 선택 효과를 보여줍니다. 우리는 442명의 당뇨병 환자에 대한 10개의 기능과 응답 변수가 포함된 sklearn의 당뇨병 데이터 세트를 사용하며, 우리의 목표는 올가미 회귀를 사용하여 가장 중요한 기능을 선택하는 것입니다.

# 导入数据集和相关库
from sklearn.datasets import load_diabetes
from sklearn.linear_model import Lasso
import numpy as np
import matplotlib.pyplot as plt

# 加载糖尿病数据集
diabetes = load_diabetes()

# 将数据集分成训练集和测试集
X_train = diabetes.data[:300]
y_train = diabetes.target[:300]
X_test = diabetes.data[300:]
y_test = diabetes.target[300:]

# 套索回归模型
lasso = Lasso(alpha=0.1)
lasso.fit(X_train, y_train)

# 打印每个特征的系数
print("lasso.coef_:", lasso.coef_)

# 绘制每个特征的系数
plt.plot(range(diabetes.data.shape[1]), lasso.coef_)
plt.xticks(range(diabetes.data.shape[1]), diabetes.feature_names, rotation=60)
plt.ylabel("Coefficients")
plt.show()

위 코드를 실행하면 각 특성의 계수와 플롯된 계수 플롯을 얻을 수 있습니다. 결과는 Lasso 회귀가 두 번째 특성을 제외한 모든 특성의 계수를 0으로 압축한다는 것을 보여줍니다. 이는 이러한 특성이 모델에 거의 기여하지 않으며 제거될 수 있음을 나타냅니다. 또한 두 번째 특성의 계수가 다른 특성의 계수보다 크므로 가장 중요한 특성임을 나타냅니다.

Lasso 회귀는 정규화 강도를 조정하여 특징의 양과 질을 제어할 수 있는 매우 효과적인 특징 선택 방법입니다. 실제 적용에서는 교차 검증을 사용하여 최적의 정규화 강도를 선택하여 더 나은 모델 성능과 특징 선택 효과를 얻을 수 있습니다.

위 내용은 Lasso 회귀 예시: 특징 선택 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 163.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제