Machine learning 交叉验证:是否需要对列车/测试集进行拆分?

Machine learning 交叉验证:是否需要对列车/测试集进行拆分?,machine-learning,cross-validation,production,training-data,test-data,Machine Learning,Cross Validation,Production,Training Data,Test Data,假设我想用一个随机森林模型来预测未来的数据。我正在考虑两种方法来训练这个模型,选择最好的超参数,并将这个模型投入生产。这两种方法的不同之处在于,第一种方法将数据分割为训练集和测试集,而第二种方法则没有 我可以同时使用这两种方法吗?其中一个比另一个好用吗?我想第二种方法的一个缺点是没有无偏的性能估计,但这真的很重要吗 (一) 将数据拆分为列车和测试集(80/20) 对列车数据集使用k-折叠交叉验证 选择在k验证集上表现最好的超参数 根据完整的培训数据培训此最佳模型 在测试集上获得无偏的性能估计

假设我想用一个随机森林模型来预测未来的数据。我正在考虑两种方法来训练这个模型,选择最好的超参数,并将这个模型投入生产。这两种方法的不同之处在于,第一种方法将数据分割为训练集和测试集,而第二种方法则没有

我可以同时使用这两种方法吗?其中一个比另一个好用吗?我想第二种方法的一个缺点是没有无偏的性能估计,但这真的很重要吗

(一)

  • 将数据拆分为列车和测试集(80/20)
  • 对列车数据集使用k-折叠交叉验证
  • 选择在k验证集上表现最好的超参数
  • 根据完整的培训数据培训此最佳模型
  • 在测试集上获得无偏的性能估计
  • 在完整数据集上训练最佳模型
  • 使用最终模型预测未来数据
    • 对完整数据集使用k-折叠交叉验证
    • 选择在k验证集上表现最好的超参数
    • 在完整数据上训练最佳模型
    • 使用最终模型预测未来数据

    交叉验证是k倍验证的一种特殊情况,其中
    k=(1/分割率)-1
    只进行一轮验证。
    因此,当您已经通过k-fold验证进行优化时,不需要交叉验证。

    那么第二种方法可以吗?在第一种方法中使用单独测试集的原因是什么?如果您查找它,将数据拆分为训练/测试就是交叉验证。其原因与k倍验证相同。检测训练算法的过拟合。