在Scikit-learn中,可以使用GridSearchCV类实现网格搜索。GridSearchCV类可以用来选择最优的参数组合,从而优化模型的性能。
下面是一个简单的示例代码,演示如何使用GridSearchCV进行网格搜索:
from sklearn.model_selection import GridSearchCVfrom sklearn.svm import SVCfrom sklearn.datasets import load_iris# 加载数据iris = load_iris()X = iris.datay = iris.target# 定义要搜索的参数网格param_grid = {'C': [0.1, 1, 10, 100], 'gamma': [0.001, 0.01, 0.1, 1]}# 创建模型svm = SVC()# 创建GridSearchCV对象grid_search = GridSearchCV(svm, param_grid, cv=5)# 进行网格搜索grid_search.fit(X, y)# 输出最优参数组合和对应的评分print("Best parameters: {}".format(grid_search.best_params_))print("Best cross-validation score: {:.2f}".format(grid_search.best_score_))在上面的代码中,首先加载了Iris数据集,并定义了要搜索的参数网格。然后创建了一个SVC模型,并使用GridSearchCV类进行网格搜索。最后输出了最优的参数组合和对应的评分。
通过使用GridSearchCV类,可以方便地进行参数调优,从而提高模型的性能。


