岭回归正则化参数调整的代码
时间: 2023-12-09 10:03:54 浏览: 111
岭回归代码
岭回归是一种常用的线性回归正则化方法,通过引入L2正则化项来控制模型复杂度,避免过拟合。岭回归的主要参数是正则化参数alpha,alpha越大,正则化效果越强,模型的复杂度越低。
在scikit-learn中,可以使用Ridge类来进行岭回归,其中alpha通过参数alpha来进行调整。下面是一个简单的岭回归正则化参数调整的代码示例:
```python
from sklearn.linear_model import Ridge
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import GridSearchCV
import numpy as np
# 生成数据集
np.random.seed(0)
n_samples, n_features = 100, 10
X = np.random.randn(n_samples, n_features)
y = np.random.randn(n_samples)
# 定义岭回归模型
ridge = Ridge()
# 定义调参范围
param_grid = {'alpha': [0.001, 0.01, 0.1, 1, 10, 100]}
# 定义GridSearchCV对象
grid_search = GridSearchCV(ridge, param_grid, cv=5, scoring='neg_mean_squared_error')
# 模型训练
grid_search.fit(X, y)
# 输出最佳参数
print("Best parameter: ", grid_search.best_params_)
# 输出最佳模型得分
print("Best score: ", -grid_search.best_score_)
```
在上面的代码中,我们首先生成了一个随机数据集,然后定义了一个Ridge模型和参数调整范围。接着,我们通过GridSearchCV对象进行模型训练和参数调整,并输出最佳参数和最佳模型得分。在这个例子中,我们使用了5折交叉验证来评估模型效果,使用均方误差(MSE)作为评价指标。
阅读全文