gpt4 book ai didi

python-2.7 - 我可以使用训练和测试数据进行插补吗?

转载 作者:行者123 更新时间:2023-12-02 03:00:00 27 4
gpt4 key购买 nike

有趣的是,我在 stackoverflow 和其他网站上看到了很多不同的答案:

在处理我的训练数据集时,我使用决策树模型估算了某个列的缺失值。所以这是我的问题。使用所有可用数据(训练和测试)来制作插补模型(而不是预测)是否公平,或者我可以在这样做时只接触训练集吗?此外,一旦我开始处理我的测试集,我是否必须只使用我的测试集数据,使用在我的训练集中制作的相同插补模型进行插补,或者我可以使用所有可用的数据来重新训练我的插补模型?

我认为只要我不使用我的测试集进行预测模型训练,将其余数据用于插补之类的事情就可以了。但也许这会打破一个基本规则。想法?

最佳答案

在对训练集进行任何处理时,不要使用来自测试集的任何信息。 @Maxim 和链接的答案是正确的,但我想增加答案。

插补试图从不完整的数据中进行推理,以建议缺失条目的可能值。我认为将缺失值视为测量误差的一种形式是有帮助的(请参阅 this article 以获得有用的演示)。因此,有理由相信缺失与底层数据生成过程有关。而这个过程正是您试图用模型复制(当然,虽然不完美)的过程。

如果您希望您的模型能够很好地泛化 - 我们不是所有人! -- 那么最好确保你对训练集所做的任何处理都只依赖于该集中包含的数据中的信息。

我什至建议您考虑三向拆分:测试、训练和验证集。验证集进一步从训练集中挑选出来,用于测试模型与“自身”的匹配度(在超参数的调整中)。这部分是交叉验证程序在 sklearn 中所做的事情。和其他管道。在这种情况下,我通常在 CV 拆分之后进行插补,而不是在完整的训练集上进行,因为我试图根据模型“知道”的数据评估模型(并且坚持数据是未知/ future 的代理)数据)。但请注意,我还没有看到这种建议与在测试集和训练集之间保持完整的隔离墙一样统一。

关于python-2.7 - 我可以使用训练和测试数据进行插补吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46749037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com