用python复现Lasso回归,并举例说明
时间: 2023-05-30 10:03:22 浏览: 210
Lasso回归是一种线性回归的变体,它通过对系数的L1范数进行限制,可以实现特征选择和模型压缩的功能。在Python中,可以使用scikit-learn库中的Lasso类来实现Lasso回归。
下面是一个简单的例子:
```python
from sklearn.linear_model import Lasso
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载波士顿房价数据集
boston = load_boston()
X = boston.data
y = boston.target
# 分割训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建Lasso模型
alpha = 0.1
lasso = Lasso(alpha=alpha)
# 拟合模型
lasso.fit(X_train, y_train)
# 预测
y_pred = lasso.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("MSE: ", mse)
```
在这个例子中,我们加载了sklearn自带的波士顿房价数据集,并将其分成了训练集和测试集。然后,我们使用Lasso类构建了一个Lasso回归模型,并使用拟合训练集数据来训练模型。最后,我们使用测试集数据来评估模型的性能,计算了均方误差。
阅读全文