在数据科学和机器学习领域,数据预处理是一个至关重要的步骤。缺失值是数据集中常见的问题,它们可能因为多种原因出现,比如数据录入错误、设备故障或参与者未提供信息。缺失值的存在会影响统计分析的结果,导致偏差或错误的结论。因此,合理处理缺失值对于构建准确和有效的模型至关重要。本文将探讨几种处理数据集中缺失值的策略。
数据集中的缺失值指的是一个或多个变量或观测值的数据缺失。这种情况可能由多种原因引起,包括数据录入错误、设备故障或参与者未提供信息。缺失值可能会影响统计分析,导致结果出现偏差或错误。因此,适当处理缺失值非常重要,可以通过删除它们或使用插补方法来估计它们的值。
缺失完全随机(MCAR):当数据是MCAR时,缺失是随机发生的,缺失值与观测到的数据之间没有关系。换句话说,所有观测值缺失值的概率是相同的,与它们的值无关。
缺失随机(MAR):当数据是MAR时,缺失不是随机的,但可以通过其他观测变量来解释。换句话说,缺失值的概率取决于观测到的数据,而不是缺失的数据本身。
缺失非随机(MNAR):当数据是MNAR时,缺失不是随机的,也不能通过其他观测变量来解释。换句话说,缺失值的概率取决于缺失的数据,如果不妥善处理,可能会导致结果出现偏差或错误。
让考虑一个包含三个独立特征(预测变量)和一个依赖特征(响应变量)的虚拟数据集。
Feature-1 Feature-2 Feature-3 Output
男 23 24 是
—— 24 25 否
女 25 26 是
男 26 27 是
在这个例子中,在第二行的Feature-1中有一个缺失值。机器学习社区常用的处理数据集中分类变量缺失值的方法如下:
如果数据集中的观测值数量很大,且所有要预测的类别在训练数据中都有充分的代表,那么尝试删除包含缺失值的观测值,这不会对模型输入产生显著变化。例如,可以删除包含缺失值的整行(删除第二行)。
总是可以根据分类变量的众数来插补它们,只是要确保没有一个高度倾斜的类别分布。注意:但在某些情况下,这种策略可能会使数据在类别方面失衡,如果数据集中有大量的缺失值存在。通常,用均值/中位数/众数替换缺失值是一种粗略的处理缺失值的方法。根据上下文,如果变化很小或者变量对响应的影响很小,这种粗略的近似是可以接受的,并且可以给出满意的结果。在这种情况下,因为说的是分类变量,这一步可能不适用。
例如,要实现这种方法,用该列最频繁的值替换缺失值,这里用“男”替换缺失值,因为“男”的数量多于“女”(男=2,女=1)。