如何正确验证机器学习模型?

时间:2021-01-10 01:07:19

标签: machine-learning cross-validation

我对模型验证感到困惑。

我为 6 种不同算法所做的工作:

-->分离我的数据集 75/25(训练/测试)--> 测试我保持不变。

-->使用训练集我做了以下事情:

  1. 分成 4 倍(外部)并执行嵌套重复(五次)十倍(内部)交叉验证。通过随机搜索 10 次进行超参数调整。 (留一个策略)
  2. 提取指标(ROC 曲线、acc、特异性等)并获得最佳模型的参数。

现在问题来了:

我还有一个未触及的测试集(从一开始的分裂开始),我该怎么办?直接应用到最好的模型,看看性能?还是使用整个训练集以最佳参数重新训练最佳模型,然后应用测试集?

还是这里的一切都错了?

1 个答案:

答案 0 :(得分:2)

你明白了。这是一般规则:

  • 从 6 个模型中选择最好的模型。我看到在您的情况下 K 为 4,建议为 10 或 20。
  • 在所有部分上再次重新训练最佳模型(整个训练集)。 (已经通过交叉验证建立了信任)。
  • 对测试集进行预测。