数据科学项目中的测试/训练分割策略

在众多精彩的数据科学项目中,强烈建议在规划数据时纳入足够的变量,并使用可交换的评分分类器,接受随机的测试/训练分割值。

设置测试/训练分割的目的是为了评估分类器在未来数据上的表现。不在训练数据集上解决分类器,因为训练误差有一个显著的不良高估偏差。

很容易获得在训练数据上表现出色的分类器,但在未来的预测数据上却表现不佳。测试数据上的失败——分类器从未见过的数据——应该能更好地估计模型的最终效果。

接受随机测试/训练分割的基本假设是,预期的数据与之前的数据是可交换的:也就是说,信息变量将以相同的方式分配,使得训练数据是测试数据集的一个真实估计——而测试数据是未来数据集的一个合理估计。

然而,在许多领域,由于时间相关的问题,如自相关,或者由于被忽视的变量,数据并不是可交换的。在这些情况下,随机测试/训练分割会导致测试数据集过于类似于训练数据,而不太类似于预期的数据。

这将导致创建一个看起来比实际更真实的分类器,所以不能确信测量过程已经排除了不完美的分类器。实际上,可能会无意中破坏一个好的分类器,而倾向于一个在这种不真实情况下击败它的更差的分类器。

随机测试/训练分割表面上是无偏见的,但不完整的分类器从实验的不敏感性中获益更多,而不是真正的分类器。为了对抗这一点,必须实施一些领域知识,以开发一个测试系统,该系统将仔细模拟分类器的潜在未来性能。

这可能看起来像是矛盾的数据。许多人错误地将“随机测试/训练分割”视为可能的唯一实践和临床试验的授权方法。例如,在金融领域,一个交易策略只会在准备中使用的数据的未来数据上进行测试。

没有人会使用2020年的任意时间子集来制定交易策略,然后假设如果它在2020年的随机测试日期集上赚钱,它就是一个有效的策略。会被逐出业务。可以构建一个接受2020年初几个月的数据的系统,并测试它是否在2020年末的几个月管理得很好,作为一个试点调查,然后在2021年冒险这个策略(尽管,由于季节性影响,一整年的训练将是相当大的)。

这是在多个领域被称为回测或hindcasting的基础。金融会愿意接受随机测试-训练分割:它更容易执行,并且不太可能受到周期性影响——如果它对他们有效的话。但由于他们应用专业中不可忽视的方面,它不起作用,所以他们必须使用领域知识来开发更有代表性的分割。

另一个案例是新闻主题分类:对文章进行分类(如体育、医药、银行等)是一项繁琐的任务。困难在于许多文章通过各种渠道重复。因此,一个简单的随机测试/训练分割可能会将大量近重复的特征放入测试和训练集合中,即使所有特定的文章都在一个紧凑的时间框架内一起出现。

假设一个简单的查找方案:将每篇文章归类为最紧凑的训练文章的主题。通过一个简单的随机测试/训练分割,测试集几乎总是会包含训练集中所有文章的近复制品,以便这个最近邻分类器在评估中会表现得非常好。但它在原始应用中不会表现得那么好,因为不会有如此相似的匹配在历史训练数据集中依赖。

随机测试/训练分割没有考虑到时间在实际应用中的作用——它向前推进,并且有大量显著相关的项目——而糟糕的测试过程可能会让选择一个非常无效的方法,而不是其他方法只是稍微好一点。

需要对外部数据、数据分组、概念变化、时间、关键排除变量、自相关、数据突发性或任何其他情况的分类问题进行一些关注模型评估,这些情况揭示了可交换性假设。

关键要点是,随机测试/训练分割可能有效,但可能有明显的原因它不会成功,可能需要花时间发明应用敏感的测试方法。回顾性数据的随机测试/训练分割不被视为完整的承诺随机对照试验。而且,应该记住,保留测试的真正目的是预测未来生产的程度。因此,最好负责规划测试程序,这些程序是预期应用的合理估计。而不仅仅是挑战随机测试/训练分割永远令人满意,通过向专家的呼吁。

如果喜欢阅读这篇文章,相信有相似的兴趣,并且是/将在相似的行业。所以让通过LinkedIn和Github联系。请不要犹豫发送联系请求!

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485