在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類,可以方便地進行參數調優,從而提高模型的性能。