处理缺失数据的不同插补方法

处理缺失数据的不同插补方法

当我们在进行数据分析和理解时,经常会遇到缺失值的问题。这是一个很常见的问题,缺失值常见于数据损坏或某些收集错误。其会导致偏差并影响模型的执行效率。我们该如何解决这个问题呢?

方法有很多,这里我们讨论部分常见的方式,以下面的数据为例,以供进一步参考。

f1有缺失值

什么是缺失值处理?

Imputation是用替换的数据替换缺失的值的过程。这是作为预处理步骤完成的。

正常缺失值处理

在我们的示例数据中,我们有一个缺失值的f1特征。我们可以根据特征f1的数据类型使用以下方法替换缺失值

  • 平均值
  • 中位数
  • 众数

如果数据是数值型的,我们可以使用均值和中值来代替,否则如果数据是分类的,我们可以使用众数,即频繁出现的值。

在我们的示例中,数据是数值型的,因此我们可以使用平均值。请注意,只有 4 个非空单元格,因此我们将仅取 4 个平均值。

平均替换

基于类别标签的插补

在这里,我们不是取特征中所有值的均值、中位数或众数,而是基于类。

取特征f1中属于类 0 或 1的所有值的平均值并替换缺失值。与中位数和众数相同。

基于类别的插补

基于模型的处理

这是一种处理缺失数据的有趣方式。我们将特征f1作为类,将所有剩余的列作为特征。然后我们用任何模型训练我们的数据并预测缺失值。

训练数据

测试数据

在这里,我们有在特征f1中有缺失值的训练数据和测试数据。让我们使用 K-Nearest Neighbor 算法并取 k=2 来训练我们的模型,因为它很简单并且使用了邻域概念。

缺失值将表示为 NaN — 不是数字。

创建缺失值特征

除了对特征执行插补之外,我们还可以创建新的对应特征,这些特征将具有二进制值,表示特征中的数据是否缺失,0 表示不缺失,1 表示缺失。我们这样做是为了记录,缺失值也可以作为有用信息的来源。

结论

在本文中,我们讨论了处理缺失数据的不同插补方法。有时处理的方法可能是通用的,也有些需要依赖于行业领域的专家才能更好的处理。

作者:Supriya Secherla

免责声明:凡未注明来源或者来源为网络的信息均转自其它平台,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。网站只负责对文章进行整理、排版、编辑,不承担任何法律责任。若有侵权或异议请联系我们删除,谢谢。

发表评论

您的电子邮箱地址不会被公开。