lasso回归交叉验证代码
时间: 2023-06-12 08:07:02 浏览: 151
下面是使用Lasso回归进行交叉验证的示例代码:
```python
from sklearn.linear_model import Lasso, LassoCV
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
# 加载数据
boston = load_boston()
X = boston.data
y = boston.target
# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 使用交叉验证选择Lasso回归模型的正则化系数alpha
model = LassoCV(cv=5)
model.fit(X_train, y_train)
# 输出交叉验证选择的最佳正则化系数
print("Best alpha using LassoCV: %f" % model.alpha_)
# 使用选择的正则化系数alpha来训练模型
lasso = Lasso(alpha=model.alpha_)
lasso.fit(X_train, y_train)
# 在测试集上预测并计算R^2得分
score = lasso.score(X_test, y_test)
print("R^2 score on test set: %f" % score)
```
在上面的示例中,我们首先加载了波士顿房价数据集,并进行了数据标准化和训练集/测试集划分。然后,我们使用LassoCV类选择了Lasso回归模型的正则化系数alpha。最后,我们使用选择的alpha值来训练模型,并在测试集上计算了R^2得分。
阅读全文