【问题标题】:How to correctly validate a machine learning model?如何正确验证机器学习模型?
【发布时间】:2021-04-15 08:31:26
【问题描述】:

我对模型验证感到困惑。

我为 6 种不同的算法做了什么:

-->分离了我的数据集 75/25(训练/测试)--> 我没有改动的测试。

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

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

这就是问题所在:

我还有一个未动过的测试集(从一开始的拆分开始),我该怎么处理它?直接套用最好的模型,看看性能?还是使用整个训练集重新训练具有最佳参数的最佳模型,然后应用测试集?

或者这里的一切都错了?

【问题讨论】:

    标签: machine-learning cross-validation


    【解决方案1】:

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

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

    【讨论】:

    • 要将此信息放入文章中,我是否应该说我使用嵌套 CV 验证了模型并选择了最佳模型来测试它在新的未触及测试集中的性能?我认为我在解释我所做的事情时选择了不好的词。
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多