我研究了特征工程中 Kaggle 上的 fill null 方法。 有些玩家用另一个对象值填充 NA。
例如,性别列中有“男”、“女”和 NA 值。该方法是用另一个对象值填充 NA,例如“Middle”。之后,它将性别属性视为不带任何 null,pandas 不会发现 null。
我想知道该方法对机器学习模型的性能真的有很好的影响还是一个好的特征工程? 除此之外,在数据集中没有知识发现后,还有其他好的方法来填充NA吗?
最佳答案
首先,这取决于您的模型是否可以管理 NA(如 xgboost)。 其次,辍学是否可以解释某种行为(比如抑郁的人更有可能跳过一项任务)
关于这个问题有完整的文献。主要做法有:
- 只需删除行
- 用替换数据填充缺失数据(中位数、出现次数最多的值...)
- 填写缺失的数据并添加一些错误
所以在这里,您可以将其保留为 NA 并使用 xgboost,删除不完整的行或将最常见的值放在male 和female 之间
如果您想更进一步,一些建议:
- 尝试了解数据缺失的原因
- 对您选择的解决方案进行敏感性分析
关于machine-learning - 特征工程中如何填充对象属性中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967173/