可以帮我写一个code例子么
时间: 2024-10-10 17:14:49 浏览: 17
当然可以,假设你想在Python中使用scikit-learn库的GridSearchCV来进行线性回归模型的参数调优。这是一个简单的例子:
```python
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.metrics import mean_squared_error
# 加载波士顿房价数据
boston = load_boston()
X, y = boston.data, boston.target
# 定义参数网格
param_grid = {'fit_intercept': [True, False],
'normalize': [True, False],
'alpha': [0.0001, 0.001, 0.01, 0.1]}
# 创建线性回归模型
model = LinearRegression()
# 使用GridSearchCV
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error') # 使用交叉验证,负均方误差作为评价指标
grid_search.fit(X, y)
# 输出最佳参数和对应得分
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", -grid_search.best_score_) # 因为GridSearchCV返回的是最小损失
# 使用最佳参数训练模型
best_model = grid_search.best_estimator_
predictions = best_model.predict(X)
# 结果展示
print("Mean Squared Error: ", mean_squared_error(y, predictions))
```
这个例子展示了如何使用GridSearchCV寻找`LinearRegression`模型的最优参数组合。
阅读全文