【发布时间】:2022-06-10 17:40:14
【问题描述】:
我需要为 ANN 找到最佳超参数,然后在最佳模型上运行预测。我使用 KerasRegressor。我发现相互矛盾的例子和建议。请帮助我了解正确的顺序以及何时使用哪些参数。
- 我将数据拆分为训练和测试数据集
- 我在 Train 数据集上使用 GridSearchCV 寻找最佳超参数 GridSearchCV.fit(X_Train, Y_Train)
- 我采用 GridSearchCV.best_estimator_ 并在 Test 数据集的 cross_val_score 中使用它,即
cross_val_score(model.best_estimator_, X_Test, Y_Test , scoring='r2')- 我不确定是否需要执行此步骤?理论上,它应该显示与 GridSearchCV 为这个 best_estimator_ 所做的相似的 r2 分数,不是吗?
- 我在测试数据上使用
model.best_estimator_.predict( X_Test, Y_Test)来预测结果。即我从 GridSearchCV 传递 best_estimator_ 来运行实际的 prediction。- 这是正确的吗? 在进行预测之前,我是否需要再次拟合模型.best_estimator_ 训练数据?还是保留在 GridSearchCV 期间找到的所有权重? 我是否需要保存权重以便以后重复使用它?
【问题讨论】:
-
您不能使用测试集来选择最佳参数并调整您的模型。这就是验证数据集的工作。
标签: python gridsearchcv