GridSearchCV & RandomizedSearchCV - 你在 运行 之后改装模型了吗
GridSearchCV & RandomizedSearchCV - do you refit the model after running
我有一些测试和训练数据,测试数据没有任何因变量。
我目前正在 运行 GridSearchCV 或 RandomizedSearchCV 寻找最佳参数。
我是否应该将所有 "test" X 和 y 值传递到 GridSearchCV 或 RandomizedSearchCV 中?
我知道它会进行交叉验证,所以我相信它可以吗?
但如果是这样的话,best_estimator拟合的是什么数据呢?所有的?或者其中一个折叠的数据?
之后是否需要重新拟合全套测试数据?
这里问的问题比较多,我会尽量一一解答。
- Should I pass all of my "test" X & y values into a GridSearchCV or RandomizedSearchCV?
您提到您没有测试数据的因变量,在这种情况下,您无法将其传递给您的模型。即使您有权访问因变量的值,您也不应将它们发送到您的 GridSearchCV
或 RandomSearchCV
,这些方法将在内部创建一个验证集,您的模型将在该验证集上针对每个超参数设置进行测试。
- what data has the best_estimator been fit with?
这取决于您如何初始化 GridSearchCV
或 RandomizedSearchCV
对象,这两种方法都有一个名为 refit
的参数,当设置为 TRUE
(默认情况下) 将用整个数据重新拟合模型。
- Do I need to refit the full set of test data after?
通常,您不会使用测试数据来调整超参数。你使用验证集来做,一旦你冻结了你的模型,你就可以使用测试集来检查模型的性能,这将是对模型性能的无偏估计。
希望对您有所帮助!
没有什么能阻止您使用 test
数据集来为您的模型找到最佳超参数。但是,这样做之后,您无法真正判断模型的泛化能力如何,即对未见数据的表现,因为您使用 test
集来调整模型,使其无法用于衡量模型的性能。
此外,我认为 Cross Validated 是提出此类问题的更好场所。
我有一些测试和训练数据,测试数据没有任何因变量。
我目前正在 运行 GridSearchCV 或 RandomizedSearchCV 寻找最佳参数。
我是否应该将所有 "test" X 和 y 值传递到 GridSearchCV 或 RandomizedSearchCV 中?
我知道它会进行交叉验证,所以我相信它可以吗?
但如果是这样的话,best_estimator拟合的是什么数据呢?所有的?或者其中一个折叠的数据?
之后是否需要重新拟合全套测试数据?
这里问的问题比较多,我会尽量一一解答。
- Should I pass all of my "test" X & y values into a GridSearchCV or RandomizedSearchCV?
您提到您没有测试数据的因变量,在这种情况下,您无法将其传递给您的模型。即使您有权访问因变量的值,您也不应将它们发送到您的 GridSearchCV
或 RandomSearchCV
,这些方法将在内部创建一个验证集,您的模型将在该验证集上针对每个超参数设置进行测试。
- what data has the best_estimator been fit with?
这取决于您如何初始化 GridSearchCV
或 RandomizedSearchCV
对象,这两种方法都有一个名为 refit
的参数,当设置为 TRUE
(默认情况下) 将用整个数据重新拟合模型。
- Do I need to refit the full set of test data after?
通常,您不会使用测试数据来调整超参数。你使用验证集来做,一旦你冻结了你的模型,你就可以使用测试集来检查模型的性能,这将是对模型性能的无偏估计。
希望对您有所帮助!
没有什么能阻止您使用 test
数据集来为您的模型找到最佳超参数。但是,这样做之后,您无法真正判断模型的泛化能力如何,即对未见数据的表现,因为您使用 test
集来调整模型,使其无法用于衡量模型的性能。
此外,我认为 Cross Validated 是提出此类问题的更好场所。