1

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

例如,性别列中有“男性”、“女性”和 NA 值。该方法是用另一个对象值填充 NA,例如“Middle”。之后,它会处理不带任何 null 的 sex 属性,pandas 不会找到 null。

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

4

2 回答 2

2

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

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

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

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

如果您想走得更远,有一些建议:

  1. 尝试了解数据丢失的原因
  2. 对您选择的解决方案进行敏感性分析
于 2016-12-05T09:48:31.357 回答
0

这在很大程度上取决于您的数据。但是您仍然可以做一些事情并检查它们是否有效。

1.如果与行数相比缺失值很少,最好删除它们。

2.如果有大的缺失值,做一个特征“IsMissing”(1代表NULL,0代表其他)。有时效果很好。

(男/女)。

一切都与创造力和逻辑有关。您所做的每个假设都不起作用,正如您可以看到我上面描述的最后一种方法假设 NULL 值只能有两个值(M/F),实际上可能不是案子。

因此,请尝试不同的策略,看看哪些对您的数据有效。

希望能帮助到你!!

于 2018-01-26T19:04:14.950 回答