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

 

留出法(hold-out)

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

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

交叉验证法(cross validation)

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

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

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

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

自助法(bootstrapping)

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

当m趋于无穷时,样本在测试集中出现的概率趋于1 / e 1/e1/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}lim(1m1)m=e1
自助法适用于数据集较小,难以有效划分训练集和测试集的情况;

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

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

注意事项

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

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

posted @ 2020-12-02 14:26  月夜_1  阅读(1235)  评论(0编辑  收藏  举报