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 折交叉验证(又名重复 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/