前言
进行模型的训练前,挑选训练集和测试集也非常重要,即抽样方法,一个好的抽样方法需要保证两个数据集数据分布的一致性,例如在分类中至少要保持样本的比例类似。下面列出几种常见的做法。
1.留出法
“留出法”直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。
需要注意的是,训练/测试集的划分要尽可能保证两个数据集数据分布的一致性,例如在分类中至少要保持样本的比例类似。
另一个需要注意的问题是,即便在给定训练/测试集的样本比例后,仍然存在许多划分方式对原始数据集D进行分割。例如可以把D中的样本排序,然后把前350个正例放到训练集中,也可以把后350个放进去,这些不同的划分方式将得到不同的训练集/测试集,相应的,模型评估的结果也会有差异。因此,单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后选取平均值作为留出法的评估结果。
此外,我们希望评估的是用D训练出的模型的性能,但留出法需划分训练/测试集,这就会导致一个窘境:若令训练集S包含绝大多数样本,则训练出的模型可能更接近于用D训练出的模型,但由于T比较小,评估结果可能不够稳定准确;若令测试集T多包含一些样本,则训练集S和D差别更大了,被评估的模型和用D训练出的模型相比可能有较大差别,从而降低了评估结果的保真性。这个问题没有完美的解决方案,常见做法是将大约2/3~4/5的样本用于训练,剩余样本用于测试。
- 也就是在R中常用的函数sample对于