在Scikit-learn中,可以使用GridSearchCV类实现网格搜索。GridSearchCV类可以用来选择最优的参数组合,从而优化模型的性能。
下面是一个简单的示例代码,演示如何使用GridSearchCV进行网格搜索:
from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC from sklearn.datasets import load_iris # 加载数据 iris = load_iris() X = iris.data y = 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类,可以方便地进行参数调优,从而提高模型的性能。