您是否被良好或接近良好的模型性能所淹没?你的幸福被出卖了吗?简而言之,当你想要预测的信息在训练数据集中直接或间接发生时,就会发生标签泄漏或对象泄漏。它使模型夸大了它的泛化误差,大大提高了模型的性能,但该模型对于任何实际应用都是无用的。数据泄漏如何发生的最简单示例是使用标签本身训练模型。在实践中,目标变量的间接表示是在数据收集和准备过程中无意中引入的。数据挖掘过程中会收集目标变量的触发结果和直接结果的特征,因此在进行探索性数据分析时应手动识别它们。数据泄漏的一个领先指标是“好得令人难以置信”模型。由于该模型不是一个好的模型,它很可能在预测期间表现不佳。数据泄漏不仅可以通过将特征训练为标签的间接表示来实现。也可能是因为来自验证或测试数据的某些信息保留在训练数据中,或者使用了未来的历史记录。LabelLeakageProblem示例通过此人关联的银行帐号的特征预测银行账户是否会被开设在客户流失预测问题中,事实证明称为“interviewer”的特征是客户是否流失或不是。模型表现不佳的原因是这个“面试官”是在客户确认他们打算流失后才分配的调查员。如何处理标签泄漏1,移除它们或添加噪声以引入可以平滑的随机性2,使用交叉验证或确保使用验证集在未见过的实例上测试模型。3.使用流水线处理而不是缩放或转换整个数据集。当基于提供的整个数据集缩小特征时,例如使用最小-最大缩放器,然后应用训练和测试拆分,缩放后的测试集还包含来自缩放后训练特征的信息,因为最小值和最小值使用了整个数据集的最大值。因此,始终建议使用管材以防止标签泄漏。4.针对保留数据测试模型并评估性能。就基础设施、时间和资源而言,这是最昂贵的方式,因为必须使用正确的方法再次执行整个过程。总结数据泄漏是最常见的错误类型,可能发生在特征工程中,通过验证信息巧妙地使用时间序列、数据集标签和训练集。重要的是,机器学习模型只是在暴露信息可用时的预测。因此,明智的做法是仔细挑选特征,在应用转换之前拆分数据,避免在验证集上拟合转换,并使用流水线处理。
