我正在检查 Bosch kaggle 竞赛中用 python 编写的内核(kaggle 链接到 python 内核),我遇到了一种奇怪的(至少对我而言)填充 Nan 值的方法。
将训练数据分成两半,然后通过使用字段的非 Nan 值和目标值在一半中计算某种平均值,然后用这些计算值填充另一半的 Nan 值。
然后,在填充 Nan 值后训练模型时,仅对已替换 Nan 值的一半数据训练模型。
问题是,你为什么要把数据分成两半来计算,然后填充另一半?当平均值与目标值相关时,您是否会引入某种泄漏,这就是为什么只使用填充值的一半(您没有计算任何东西,只是填充的 Nans)来训练的原因?如果您对所有火车数据执行此操作,此过程是否容易过度拟合?
先谢谢了。