machine-learning - 特征工程中如何填充对象属性中的空值?

标签 machine-learning feature-extraction kaggle sklearn-pandas

我研究了特征工程中 Kaggle 上的 fill null 方法。 有些玩家用另一个对象值填充 NA。

例如,性别列中有“男”、“女”和 NA 值。该方法是用另一个对象值填充 NA,例如“Middle”。之后,它将性别属性视为不带任何 null,pandas 不会发现 null。

我想知道该方法对机器学习模型的性能真的有很好的影响还是一个好的特征工程? 除此之外,在数据集中没有知识发现后,还有其他好的方法来填充NA吗?

最佳答案

首先,这取决于您的模型是否可以管理 NA(如 xgboost)。 其次,辍学是否可以解释某种行为(比如抑郁的人更有可能跳过一项任务)

关于这个问题有完整的文献。主要做法有:

  1. 只需删除行
  2. 用替换数据填充缺失数据(中位数、出现次数最多的值...)
  3. 填写缺失的数据并添加一些错误

所以在这里,您可以将其保留为 NA 并使用 xgboost,删除不完整的行或将最常见的值放在male 和female 之间

如果您想更进一步,一些建议:

  1. 尝试了解数据缺失的原因
  2. 对您选择的解决方案进行敏感性分析

关于machine-learning - 特征工程中如何填充对象属性中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967173/

相关文章:

machine-learning - NLP 模型在训练时的准确率停留在 0.5098

machine-learning - 深度学习是否不擅长在训练范围之外拟合简单的非线性函数(外推)?

tensorflow - MNIST 识别手写文字

matlab - HOG描述符结果的SVM训练(在Matlab中)

audio - 安装YAAFE后未创建Python_packages,MATLAB和yaafe_extensions目录

python - 子进程 python filenotfounderror : [winerror 2]

python - 如何从另一个目录导入Python类

python - 使用逻辑回归公式 y = x % 2 + 0 预测数字是奇数还是偶数

tensorflow - 使用 super 引擎对 Tensorflow 进行超参数调整

c++ - 找到每个像素opencv的光流