【问题标题】:How to impute the missing value on the test set?如何在测试集上估算缺失值?
【发布时间】:2020-02-08 21:12:42
【问题描述】:

我现在正在处理丢失的数据。我的测试和训练集中缺少数据。我对如何处理 test 集中的缺失数据感到有些困惑。如果我使用“均值”方法进行估算,如果我想估算 test 集中的缺失值,我应该使用从训练集还是测试集计算的平均值。 谢谢你帮助我!

【问题讨论】:

    标签: data-science missing-data


    【解决方案1】:

    一般来说,您不应该从测试集中计算均值或任何其他值(考虑测试集的最佳方式是它根本不存在,至少在您已经训练模型之前)。

    构建一个转换管道,该管道可以处理所有必要的预处理步骤(估算缺失数据、标准化、执行所需的特征工程、降维......)在训练集上以及当新的观察出现时(我们应该将测试集视为训练期间不可用的新观察结果)将此管道转换应用于该新数据。

    【讨论】:

      【解决方案2】:

      您应该使用 train 来表示。永远不要从 test 数据集中推断信息,因为这是信息泄漏。

      计算test 数据集的平均值将为您提供有关mean 的算法信息(显然),并且可能会错误地提高它的分数。

      在现实生活中,您通常无法计算缺失数据的平均值(想想单个传入的缺失值示例)。

      【讨论】:

      • 感谢您的回复!我仍然有点困惑,这会不会是数据泄漏,因为估算值是根据训练集计算的,并且会导致训练精度变高?再次感谢!
      • 如果你在train上计算它们没有数据泄漏,如果你在test上计算它们就会有。
      猜你喜欢
      • 2014-04-12
      • 2014-06-23
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      相关资源
      最近更新 更多