如何处理因变量中缺失的数据数据?

数据挖掘 机器学习 回归 数据清理 线性回归 数据插补
2022-03-12 00:25:05

我正在解决一个机器学习问题陈述,其中数据集中有大约 40k 条记录。问题中给出了一个因变量(有很多自变量)。但是因变量中有一些 2k 记录有缺失值。- 我该如何解决这个问题?我应该排除这些记录吗?- 估算缺失值是解决这个问题的好方法吗?由于因变量取决于许多变量,这不会给我不准确的值吗?我不知道。

有人可以帮忙吗?

1个回答

你问的问题是经验问题。任何人都可以给出的唯一答案是尝试所有这些,看看哪个效果更好。

你有三个选择:

  • 估算数据

  • 丢弃数据

  • 使用可以处理缺失数据的分类器,例如xgboost. 看到这个答案xgboost是一个强大的分类器。因此,如果您不是非常努力地调整性能,xgboost 是获得良好 v0 的好方法。

其他几点:

  • 缺失值的模式很重要,会影响算法的选择。

  • 如果您的数据集有噪声,则插补可能只会放大噪声。如果您有能力删除这 2k 行,请尝试这样做,或者在使用和不使用该数据的情况下进行训练,看看组合是否表现更好。

关于软件,有很多选择:

  • Scikit Learn 有一些插补函数

  • MICE, Multiple Imputation through Chained Equations 适用于随机数据。在 fancyimpute 和 statsmodels 中可用。

如果你搜索,你会发现很多资源