数据集的训练集和测试集划分

数据集的训练集和测试集划分

留出法(hold-out)

留出法,直接将数据集 D D 划分为两个互斥的集合,其中一个集合作为训练集 S S ,另一个作为测试集 T T ,一般做法是将2/3~4/5的样本作为训练集,其余部分作为测试集;

在使用留出法时,一般采用多次随即划分、重复进行实验评估后,取平均值作为留出法的评估结果。

交叉验证法(cross validation)

交叉验证法,或 k k 折交叉验证法(k-fold cross validation),先将数据集 D D 划分为大小相似的​ k k 个互斥子集,然后进行​ k k 次实验,每次实验使用​ k 1 k-1 个子集作为训练集,剩下的1个子集作为测试集,其中,每个子集都作为测试集进行过一次实验;

在使用交叉验证法时,通常要随机使用不同划分重复 p p 次,最终的评估结果是 p p k k 折交叉验证结果的平均值。

例如,10次10折交叉验证法,进行了100次实验。

特别地,当 k = m k=m 时( m m 为样本数), k k 折交叉验证法,即为留一法(Leave-one-out),此方法只有一种划分子集的划分方式,即每个子集包含一个样本。

自助法(bootstrapping)

自助法,对于包含 m m 个样本的数据集 D D ,每次随机抽取一个样本作为训练样本,又放回地抽取,执行 m m 次抽取操作,得到训练样本集,剩余部分则为测试集;

当m趋于无穷时,样本在测试集中出现的概率趋于 1 / e 1/e ,即约0.368,如下面公式所示:
lim m ( 1 1 m ) m = 1 e \lim_{m \to \infty} \big(1-\frac{1}{m}\big)^m=\frac{1}{e}
自助法适用于数据集较小,难以有效划分训练集和测试集的情况;

自助法产生的数据集改变了初始数据集的分布,引入了估计偏差;

因此,在数据量足够的情况下,一般使用留出法或交叉验证法。

注意事项

测试集至少包含30个样例;

测试集/训练集划分时,要尽可能保持数据分布的一致性,例如,分类任务中保持样本类别比例相似(分层采样,stratified sampling)。

猜你喜欢

转载自blog.csdn.net/kuaizi_sophia/article/details/84883704