使用 GridSearchCV 寻找最佳超参数

Using GridSearchCV to find best hyper parameters

您好,我是 GridSearchCV 的新手,我正在尝试使用 best_params_ 属性确定最佳参数。它运行正确,但它只有 return 一个 'max_depth':3,当我期望它也 return 最好的 max_leaf_nodes 和最好的 min_samples_split 时.请在下面查看我的代码,如果我没有正确执行或理解某些内容,请告诉我。谢谢!

from sklearn.model_selection import GridSearchCV

param_grid = [
  {'max_depth': [1,2,3,4,5,8,16,32]},
  {'max_leaf_nodes': list(range(2, 20, 1))},
  {'min_samples_split': [2,3,4,5,8,12,16,20]},
 ]

# Call the fit() method to perform the grid search using 3-fold cross-validation.
grid_search_cv = GridSearchCV(DecisionTreeClassifier(random_state=42), param_grid, verbose=1, cv=3) 

# Fit the model to the training set 
grid_search_cv.fit(X_train, y_train)

print("The best parameters are: ", grid_search_cv.best_params_)

Output:  The best parameters are: {'max_depth': 3}

我想通了。我不应该在我的字典的每一行上都有一个括号。