📅  最后修改于: 2023-12-03 15:21:46.233000             🧑  作者: Mango
在进行机器学习模型的训练时,我们需要设置各种超参数来提高模型性能。网格搜索(Grid Search)是一种通用的超参数优化算法,它通过穷举给定的超参数组合来找到最佳的超参数组合。Scikit-learn库中提供了 GridSearchCV 类来实现网格搜索。
在网格搜索中,我们通常使用 GridSearchCV.fit() 方法来拟合数据,并得到最佳超参数组合。此时,我们可以使用 grid.best_params_ 属性来访问最佳超参数组合的值。
示例代码如下:
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.datasets import load_iris
iris = load_iris()
# 定义超参数集合
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf', 'poly'], 'gamma': ['scale', 'auto']}
# 创建模型
svc = SVC()
# 定义网格搜索对象
grid = GridSearchCV(svc, param_grid, cv=5)
# 训练模型
grid.fit(iris.data, iris.target)
# 获取最佳超参数
print(grid.best_params_)
运行结果为:
{'C': 0.1, 'gamma': 'scale', 'kernel': 'linear'}
此时,我们可以使用 grid.best_params_ 属性获得最佳超参数组合的值,它是一个字典类型,包含了所有超参数的最优值。
总之,grid.best_params_ 属性提供了一种简单易用的方式来获取网格搜索得到的最佳超参数组合,它在超参数优化中具有重要的作用。