使用 GridSearchCV 拟合 MLPRegressor 模型

Fitting a MLPRegressor model using GridSearchCV

我正在尝试使用 MLPRegressor 来拟合我的输入和输出数据集之间的关系。我有一个问题。

# Fitting a Regression model to the train data
MLP_gridCV = GridSearchCV(estimator=MLPRegressor(max_iter=10000, n_iter_no_change=30), 
                          param_grid=param_list, n_jobs=-1, cv=5, verbose=5)
MLP_gridCV.fit(X_train, Y_train)

# Prediction
Y_prediction = MLP_gridCV.predict(X)

是否需要定义[best_params = MLP_gridCV.best_params_]才能得到最好的参数来使用

进行预测
[best_mlp = MLPRegressor(hidden_layer_sizes = best_params["hidden_layer_sizes"], 
                        activation =best_params["activation"],
                        solver=best_params["solver"],
                        max_iter= 10000, n_iter_no_change = 30)]

或者正如我在代码中使用的那样,MLP_gridCV.predict(X) 使用最佳参数本身进行预测?

GridSearchCV 对象的 predict 方法将使用网格搜索期间找到的最佳参数。所以你的第一段代码是正确的。这适用于 scikit-learn 版本 1.1.1 并且至少可以追溯到 0.16.1(我抽查的最旧版本)

这可以通过查看 scikit-learn 站点上的 GridSearchCV 文档来验证。

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV