数据分析中缺少价值

时间:2016-02-28 08:42:24

标签: machine-learning missing-data data-analysis method-missing

我有一个数据集,其中包含两个级别男性(M)和女性(F)的变量GENDER有很多缺失值。我如何处理缺失值?处理这些缺失值的不同方法有哪些。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

有几种技术可以估算缺失值。我一直在为Uni的一个关于这些方法的项目写一篇论文 我将简要介绍5种常用的缺失数据插补技术。在下文中,我们将考虑一个数据集,其中每一行都是一个模式(或观察),每一列都是一个特征(或属性),假设我们想要“修复”一个在 j中具有缺失值的给定模式 -th feature(position)。

  • 去除图案。
    如果此类模式至少有一个缺失值,则从数据集中删除模式 但是,如果存在大量具有缺失值的模式,我不建议采用这种方法,因为数据集中的模式数量将大幅减少,并且训练阶段将不会适用。
  • 均值/模式方法。
    如果模式在位置 j 中缺少值,则取均值(如果 j -th属性是连续的)或模式(如果 j -th属性是 j -th列的分类),并在模式的 j -th位置替换此类均值/模式。显然,在均值/模式评估中,您应该只考虑 j 列中的非缺失值。
  • 条件均值/模式 如果您有标签(即监督学习),您可以考虑以前的方法,但在均值/模式评估中,只考虑属于模式的 j 列中的(非缺失)元素。与您尝试修复的模式具有完全相同的标签。这实质上改进了以前的方法,因为您不考虑属于不同类的模式的值。
  • 热铺板。
    给定一个不相似度量标准,您可以测量要修复的模式与要估算的属性中缺少值的所有其他模式之间的差异(在我们的示例中为 j -th属性) 。从最相似的模式中获取 j -th功能,并将其替换回要修复的模式的 j -th位置。
  • K-Nearest Neighbors。
    这类似于Hot-decking,但您可以考虑 K 最匹配的模式,这些模式在我们的 j -th功能中没有丢失。然后考虑这些 K 模式的 j -th特征中最频繁的项目(模式)。

K-Nearest Neighbors的 K 值可以通过交叉验证找到,可以先验设置,也可以使用经验法则值( K =实例数的平方根。)

相异性度量实际上取决于您,但常见的选择是HEOM(异构欧几里德重叠度量),可以找到here(第2.3节)。这种相异性度量在具有缺失值负载的数据集中非常有效,因为它允许您处理具有缺失值的模式(显然在您要估计的特征中)。
丢弃要估算的特征中缺少值的模式确实很重要:如果您的相异度度量返回的特征 j 中也缺少值的最相似模式,则基本上替换缺失值另一个缺失值。无意义。这个例子适用于Hot-decking,但你可以扩展这样的概念,即使对于K-near邻居中的 K 最相似的模式(也就是不幸的情况,其中中最频繁的项目 K -th功能大多数相似的模式也是缺失值。

答案 1 :(得分:1)

这在很大程度上取决于具体情况。但是,一些通用的方法是:

  1. 删除缺少某些数据的行。

  2. Imputing missing values。基本上,您可以将性别列视为必须预测的内容(可能使用其他列)。使用包含所有值的行训练预测器,并预测丢失的预测器。

  3. 创建第三类“缺失”,并让机器学习算法处理它。