这里几乎没有什么可以解压的。置换测试的目标是通过置换标签并多次重复您的过程来为您的测试统计量获取零分布。
例如,您的测试统计数据是平均准确度,而您的程序是 CV。因此,您应该置换标签(所有标签,因为所有标签都进入程序),然后将数据拆分为折叠并运行 CV。
如果您只置换训练集,那么您不会得到有效的空值,因为您的结果标签没有随机性。如果您仅在测试集中置换数据,这将无效,因为它不会考虑 CV 折叠之间的依赖关系,这是进行置换测试而不仅仅是一些二项式测试的全部原因。
有几个警告。
如果你随机执行 CV split,那么你也可以简单地先排列数据,然后继续 CV。
如果您的 CV 拆分已完成,以便每个折叠具有来自每个类别的相同比例的标签,或者折叠基于相同的其他变量进行平衡,那么您必须进行置换,以便您的排列也是如此。通常,一种简单的方法是先置换,然后创建平衡拆分。
如果您没有随机折叠,但它们已经给出,例如,每个折叠是来自不同城市、不同医院或不同测量设备的数据,那么您必须在这些折叠内置换,以便来自同一家医院的标签将不会被其他医院的标签置换。
您可能有其他不基于折叠的所谓“可交换块”,例如,您有不同的医院,但您没有按医院拆分数据,那么您应该在这些块内排列您的数据,但不一定在这些块内折叠。