Press "Enter" to skip to content

机器学习中的标签泄漏介绍及其如何影响模型性能

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

您是否对优秀或接近优秀的模型表现不知所措? 你的快乐被出卖了吗?

 

简而言之,当您要预测的信息直接或间接出现在训练数据集中时,就会发生标签泄漏或目标泄漏。 它会导致模型夸大其泛化误差,并极大地提高了模型的性能,但模型对于任何实际应用都毫无用处。

 

 

数据泄漏如何发生

 

最简单的示例是使用标签本身训练模型。 在实践中,在数据收集和准备过程中无意中引入了目标变量的间接表示。 触发结果的特征和目标变量的直接结果是在数据挖掘过程中收集的,因此在进行探索性数据分析时应手动识别它们。

 

数据泄漏的主要指标是”太好了,不能成为现实”。 由于该模型不是优秀模型,因此在预测期间最有可能表现不佳。

 

数据泄漏不仅可以通过训练特征作为标签的间接表示来实现。 也可能是因为来自验证或测试数据的某些信息保留在训练数据中,或者使用了来自将来的历史记录。

 

标签泄漏问题的示例

 

通过此人关联银行账号的特征来预测是否会开设银行帐户

 

在客户流失预测问题中,事实证明,无论客户是否流失,称为”采访者”的功能都是最好的指示。 模型表现不佳的原因是此”采访者”是仅在客户确认他们打算流失之后才分配调查人员。

 

如何应对标签泄漏

 

1、删除它们或添加噪音以引入可以平滑的随机性

 

2、使用交叉验证或确保使用验证集在看不见的实例上测试模型。

 

3、使用管道处理而不是缩放或变换整个数据集。 当基于提供的整个数据集按比例缩小特征时,例如使用最小-最大缩放器,然后应用训练和测试分割,缩放的测试集还包含来自缩放的训练特征的信息,因为最小值和最小值 使用了整个数据集的最大值。 因此,始终建议使用管道来防止标签泄漏。

 

4、根据保留数据测试模型并评估性能。 就基础架构,时间和资源而言,这是最昂贵的方式,因为必须使用正确的方法再次执行整个过程。

 

总结

 

数据泄漏是最常见的一种错误和可能发生的特性工程,使用时间序列,数据集标签,并巧妙地通过验证信息训练集。重要的是机器学习模型仅仅是接触信息可用时的预测。因此,明智的做法是仔细挑选特性,在应用转换之前分割数据,避免在验证集上拟合转换,并使用管道处理。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注