美文网首页
【机器学习】数据集划分策略

【机器学习】数据集划分策略

作者: 宅家学算法 | 来源:发表于2021-09-25 20:14 被阅读0次

      在数据探索性分析场景下,用户倾向于假设用户的历史记录能很好地表征未来的情况,从而针对特定的要求生成特定的抽样策略。机器学习中,经常遇到数据集划分的工作(现在很多框架都提供API),数据集划分具有一个基本准则:保持训练集和验证集之间的互斥性,即测试样本尽量不在训练样本中出现,以保证验证集上的表现能代表模型的泛化能力

    训练集:帮助训练模型,通过训练集的数据确定拟合曲线的参数。
    测试集:为了测试已经训练好的模型的精度,利用相似的数据用此模型会得出相似的结果。

    留出法

      直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个集合作为测试集T。
      训练集和测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入的额外的偏差而对最终结果产生影响。例如,在分类任务中,至少要保证样本的类别比例相似(分层采样)。

    例如从1000个数据中,分层采样获得70%样本的训练集S和30%样本的测试集T,若D包含500个正例,500个反例,则分层采样得到的S应包含350个正例,350个反例,T应包含150个正例,150个反例。

      在用留出法划分集合时需要注意进行若干次随机划分、重复实验评估后取平均值作为留出法的评估结果,避免单次使用留出法存在不稳定情形,减少误差。
      留出法还需要关注训练集和测试集的比例划分。如果训练集的比例过大,可能会导致训练出的模型更接近于用总样本训练出的模型,同时测试集较小,评价结果又不够准确;若测试集的比例比较大,则有可能导致评估的模型与之前有较大的差别,从而降低了评估的抱枕行。常用划分比例: 7:3 、7.5:2.5 、8:2。

    交叉验证法

      先将样本集划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即从样本集中通过分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的子集作为测试集;这样就可以获得k组训练集/测试集,从而可以进行k次训练和测试,最终返回的是k个测试结果的均值。显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,k通常取10-10折交叉验证。
      交叉验证的好处就是从有限的数据中尽可能挖掘多的信息,从各种角度学习现有的有限数据,避免出现局部的极值。缺点是,当数据集比较大时,训练模型的开销较大。

    自助法

      样本集包含m个样本,通过采样产生训练集,具体方法(有放回):
      1.每次随机从样本集中选一个样本,拷贝加入训练集中,再将该样本放回原样本集,使得这个样本下次还有可能被采集到。
      2.重复上述过程m次,我们就得到一个包含m个样本的训练集
      3.剩下的样本作为测试集
      自助法在样本集较小、难以有效划分训练/测试集时很有用。此外,自助法从初始样本集中产生多个不同的训练集,这对集成学习等方法很有用。然而,自助法产生的训练集改变了初始样本集的分布,会引入估计误差。

    相关文章

      网友评论

          本文标题:【机器学习】数据集划分策略

          本文链接:https://www.haomeiwen.com/subject/okzxnltx.html