在测试集上估算缺失值

机器算法验证 机器学习 预测模型 缺失数据
2022-03-19 01:08:32

我是机器学习的新手,如果这个问题的答案很明显,请原谅我。我一直在使用逻辑回归研究二元预测问题。使用分类和连续的选择,我已经能够预测 AUC 约为的测试集的准确性。我一直在比较多种数据预处理方法,在这些方法中我执行各种过滤步骤的组合,这些步骤是:0.7

  • 无数据过滤
  • 在不替换的情况下去除基于均值的异常值
  • 使用均值替换去除基于均值的异常值并另外用均值替换 NA。
  • 在不替换的情况下去除中值绝对偏差异常值
  • 通过均值替换去除中值绝对偏差异常值并另外用均值替换 NA。
  • 在删除了所有 NA 的数据集上重复上述 5 个过程。

我发现当我删除所有中值绝对偏差异常值并将它们替换为平均值并另外用平均值替换预先存在的 NA 时,我的模型在测试集上是最具预测性的。

是否可以在实施模型时用均值来估算基于均值的缺失值?

谢谢!

2个回答

是的。

执行mean imputation很好,但是,请确保仅在训练数据上计算均值(或任何其他指标),以避免数据泄漏到您的测试集。

是否可以在实施模型时用均值来估算基于均值的缺失值?

是的,只要您使用训练集的平均值(而不是测试集的平均值)进行估算。同样,如果您在测试用例中删除高于某个阈值的值,请确保阈值来自训练而不是测试集。

您还可以考虑保留两个“测试”集并在其中一个上尝试上述所有方法(使用此集来“选择”一种方法)并使用第二个来估计最有效方法的错误(使用这个设置为“评估”选定的方法)。然后,您将进行训练-验证-测试拆分,这是一种很好的做法。