在做交叉验证的时候,如果保证训练集和测试集的[=10=]分布等于整个集,会有什么变化?
When doing cross validation, what changes if you ensure that the class distribution in the training and test set is equal to the whole set?
我们来看一个二进制class化问题。
进行 k 折交叉验证时,当您将随机打乱的数据集分成 k 个块时,它们具有与 k 函数相同的标签分布的可能性有多大?
如果 class 分布非常不均匀,比如说 95% 的数据集是负数,只有 5% 是正数,那么很可能甚至有一些低的 k 值标签分布会不均匀。
这对于 k 的值当然是正确的,例如 k =(数据集的大小),但是对于 k 的低值,例如 5 呢?
我主要担心的是,在交叉验证的某个阶段,我可能会在训练集中没有足够的正面示例。
另一方面,如果我去确保所有块中的标签分布相等,在我看来我可能会给我的问题带来偏见。
基本上我想问的是,如果我确保标签分布在所有块中均匀,我会得到什么,我会失去什么?这是好事还是坏事?最重要的是,为什么?
无论如何,如果你有 1% 到 6% 的积极因素,你就会有不同的模型。最好建立在平衡的数据集上。
怎么会有偏差?
我们来看一个二进制class化问题。
进行 k 折交叉验证时,当您将随机打乱的数据集分成 k 个块时,它们具有与 k 函数相同的标签分布的可能性有多大?
如果 class 分布非常不均匀,比如说 95% 的数据集是负数,只有 5% 是正数,那么很可能甚至有一些低的 k 值标签分布会不均匀。 这对于 k 的值当然是正确的,例如 k =(数据集的大小),但是对于 k 的低值,例如 5 呢?
我主要担心的是,在交叉验证的某个阶段,我可能会在训练集中没有足够的正面示例。 另一方面,如果我去确保所有块中的标签分布相等,在我看来我可能会给我的问题带来偏见。
基本上我想问的是,如果我确保标签分布在所有块中均匀,我会得到什么,我会失去什么?这是好事还是坏事?最重要的是,为什么?
无论如何,如果你有 1% 到 6% 的积极因素,你就会有不同的模型。最好建立在平衡的数据集上。
怎么会有偏差?