【问题标题】:In k-fold-cross validation, do we train algorithm on (k-1) subsets one by one or on combined (k-1) subsets at once?在 k-fold-cross 验证中,我们是在 (k-1) 个子集上一个一个地训练算法,还是一次在组合 (k-1) 个子集上训练算法?
【发布时间】:2013-06-04 07:30:56
【问题描述】:

我的意思是,假设我有 10 个训练集的子集 (set1, set2,.....set10)。根据我的说法,要执行 10 倍 CV,我应该在 rbind(set2,set3.....set9,set10) 上训练我的算法并在 set1 上测试它。然后我会在rbind( set1,set3,set4,....set10) 上训练它并在set2 上测试它等等。我说的对吗?

我有一种感觉,我们在set2set3....set10 上逐一训练算法并在set1 上进行测试。这样,我们在 set1 上有 9 组预测,然后我们可以将其平均。哪一个是正确的方法?

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: r machine-learning cross-validation


    【解决方案1】:

    您的理解是,将一组留给我们进行测试,而将剩余的组合用于测试是正确的。

    请参考问题和第二个答案@ 10 fold cross validation

    【讨论】:

      【解决方案2】:

      情况与这里描述的相似:

      作为旁注,如果您注意您的班级的先验概率(待预测)在所有(set1, set2,.....set10) 中大致相等,您会更好。

      这称为分层 k 折叠交叉验证,选择折叠以使平均响应值在所有折叠中大致相等。在二分分类的情况下,这意味着每个折叠包含大致相同比例的两种类别标签。

      【讨论】:

        猜你喜欢
        • 2019-05-21
        • 2021-05-09
        • 2021-01-20
        • 2021-08-29
        • 2017-12-12
        • 2019-12-23
        • 2017-08-31
        • 1970-01-01
        • 2018-05-03
        相关资源
        最近更新 更多