使用GridSearchCV网格化搜索找最有超参数
时间: 2024-04-24 20:27:28 浏览: 109
网格搜索(GridSearch)及参数说明,实例演示.md
你可以使用GridSearchCV类来进行网格搜索,以找到最佳的超参数组合。首先,你需要定义一个参数网格,即可能的超参数值的列表或字典。然后,将这个参数网格作为参数传递给GridSearchCV类,并指定你要优化的评分指标。
以下是一个示例代码,演示如何使用GridSearchCV进行网格搜索:
```python
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
# 定义参数网格
param_grid = {
'C': [0.1, 1, 10],
'kernel': ['linear', 'rbf'],
'gamma': ['scale', 'auto']
}
# 创建SVC分类器
svc = SVC()
# 创建GridSearchCV对象
grid_search = GridSearchCV(estimator=svc, param_grid=param_grid, scoring='accuracy')
# 使用训练数据拟合GridSearchCV对象
grid_search.fit(X_train, y_train)
# 输出最佳的超参数组合和对应的得分
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
在这个示例中,我们使用SVC分类器,并定义了三个超参数的可能取值:C、kernel和gamma。然后,我们创建了一个GridSearchCV对象,将SVC分类器、参数网格和评分指标传递给它。最后,我们使用训练数据对GridSearchCV对象进行拟合,并输出最佳的超参数组合及其对应的得分。
你可以根据自己的需要修改参数网格和评分指标,来寻找最佳的超参数组合。
阅读全文