K-FOLD 验证:
在这种情况下,您将数据拆分为 K 个相同大小的分区。对于每个分区 i,在剩余的 K-1 个分区上训练一个模型,并在分区 i 上对其进行评估。
您的最终分数是所获得的 K 分数的平均值。当模型的性能显示出基于训练测试拆分的显着差异时,此方法很有用。
带洗牌的迭代 K 折验证:
这适用于可用数据相对较少且需要尽可能精确地评估模型的情况。
它包括多次应用 K 折验证、改组
每次将数据拆分为 K 种方式之前。最后的分数是平均分
每次运行 K 折验证时获得的分数
如果有人可以帮助显示 k 折和迭代 K 折之间的差​​异的示例代码或流程图,我无法理解实现迭代 k 折。

最佳答案

值得一提的是,问题正文的前 3 段是 Deep Learning with Python by Francois Chollet 4.2.1 章节的文本摘要。不幸的是,作者没有更详细地解释 Iterated K-fold validation with shuffling 的概念。

我找到了这个解释,希望能让这个概念更清晰:

三重交叉验证步骤:

  • 混洗数据
  • 将您的数据分成 k = 3 个段(也称为折叠)
  • 对于每个折叠:训练一个没有问题折叠的模型,并在左边的折叠上进行测试
  • 在完成所有 k = 3 次折叠后,计算平均测试准确率(= 所有 3 次折叠)

  • 迭代 K 折交叉验证(又名重复 K 折交叉验证)将步骤 1-4 中描述的过程重复/迭代选定的次数(例如 100 次)。您现在有 100 个平均分数(每个分数都是重复应用步骤 1-4 的结果)。您取这 100 个分数的 平均值 ,这个最终结果将代表您以稳健的方式获得的最终测试准确度,您的模型将被“尽可能精确地”评估。

    他们 K 折验证和带改组的迭代 K 折验证之间的关键区别 似乎是在后面的步骤 1-4 中重复执行,然后取平均值(代表最终测试精度),而在前者中第 1-4 步执行一次(不一定包括第 1 步),第 4 步获得的分数代表您最终的测试准确率。

    感谢用户 here 的解释是从 @cbeleites supports Monica 中改编而来的。

    关于python - K fold 和 Iterated K fold with shuffle 的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53353785/

    10-12 20:11