GridSearchCV重要参数与表示
时间: 2023-10-09 08:10:13 浏览: 48
GridSearchCV是一种常用的网格搜索算法,用于寻找最优的超参数组合。它可以通过交叉验证的方式对不同的超参数组合进行评估,从而找到最优的超参数组合。GridSearchCV的重要参数包括:
- estimator:需要调参的模型。
- param_grid:超参数组合,可以是字典或列表。字典中的键表示要调整的超参数名称,值是超参数的候选值列表;列表中的元素是超参数的候选值列表。
- scoring:评估指标,用于评估每个超参数组合的性能。
- cv:交叉验证的折数。
- n_jobs:并行运行的作业数。
下面是一个使用GridSearchCV进行超参数优化的示例:
```python
# 导入数据集
from sklearn.datasets import load_iris
iris = load_iris()
# 划分数据集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
# 构建模型
from sklearn.svm import SVC
svc = SVC()
# 设置超参数组合
param_grid = {
'C': [0.1, 1, 10],
'kernel': ['linear', 'rbf', 'poly'],
'gamma': ['scale', 'auto']
}
# 导入网格搜索模型
from sklearn.model_selection import GridSearchCV
grid_search = GridSearchCV(estimator=svc, param_grid=param_grid, scoring='accuracy', cv=5, n_jobs=-1)
# 拟合模型
grid_search.fit(X_train, y_train)
# 输出最优参数和最优得分
print("最优参数为:", grid_search.best_params_)
print("最优得分为:", grid_search.best_score_)
```
在这个例子中,我们使用iris数据集进行分类,将数据集划分为训练集和测试集,然后使用SVC构建SVM模型。我们使用GridSearchCV来寻找最优的超参数组合。在构建GridSearchCV模型时,我们指定了要调整的超参数组合param_grid,评估指标为accuracy,交叉验证折数为5,n_jobs为-1表示使用所有可用的CPU进行并行运行。在拟合模型后,使用best_params_和best_score_分别输出最优的超参数组合和最优得分。