python GridSearchCV
时间: 2023-10-18 13:30:42 浏览: 137
GridSearchCV是scikit-learn库中的一个模型选择工具,用于通过穷举搜索方式找到最佳的模型超参数组合。它通过交叉验证来评估不同参数组合下的模型性能,并返回最优参数组合所对应的模型。
在Python中使用GridSearchCV时,你需要先定义一个模型对象,然后定义一个参数网格,即参数的可能取值范围。接下来,将模型对象和参数网格作为输入,传递给GridSearchCV对象,并指定评分指标和交叉验证的折数。最后,调用GridSearchCV对象的fit方法,开始使用交叉验证和网格搜索来拟合模型并找到最佳参数组合。
下面是一个示例代码,展示了如何使用GridSearchCV来寻找SVM模型的最佳C和gamma参数:
```python
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
# 定义SVM模型对象
svm_model = SVC()
# 定义参数网格
param_grid = {'C': [1,10, 100], 'gamma': [0.1, 0.01, 0.001]}
# 创建GridSearchCV对象
grid_search = GridSearchCV(svm_model, param_grid, scoring='accuracy', cv=5)
# 对数据进行拟合和参数搜索
grid_search.fit(X, y)
# 打印最佳参数组合和对应的评分
print(grid_search.best_params_)
print(grid_search.best_score_)
```
在这个例子中,我们定义了一个SVC(支持向量机分类器)的模型对象,然后通过param_grid指定了C和gamma两个参数的可能取值范围。接下来,我们创建了一个GridSearchCV对象,并指定了评分指标为准确率,交叉验证的折数为5。最后,调用fit方法对数据进行拟合和参数搜索,并打印出最佳参数组合和对应的评分。
通过GridSearchCV,你可以方便地尝试不同的参数组合,从而找到最佳的模型超参数配置。同时,它也提供了更可靠的评估指标,帮助你选择最适合的模型。
阅读全文