趋近智
数据集常常是不完整的。你可能会发现数据本应存在的地方有空缺,表示为 NaN (非数字)、null、空单元格,或有时是特定的占位符值,如 999 或 -1。这些缺失值可能对许多分析工具和统计方法造成问题,因为它们通常需要完整的数据。忽略这些值可能导致错误,甚至更糟的是,导致有偏差和不准确的结果。因此,处理缺失数据是数据准备中的一个基本步骤。
数据缺失可能有多种原因:
了解数据为何缺失,有时能帮助确定最佳处理策略,尽管确切原因常常不明确。
处理缺失值主要有两种方法:删除和填充。
这包括移除包含缺失值的数据点或特征(列)。
行删除: 最直接的方法是移除任何包含至少一个缺失值的行。
列(特征)删除: 如果某个特定列的缺失值百分比非常高(例如,超过50-60%),它可能提供的有用信息很少。在这种情况下,你可能决定移除整个列。
填充指用替代值替换缺失值。目标是根据现有信息估计一个合理的替代值。
均值/中位数/众数填充: 这些是简单的统计填充方法。
均值填充: 将缺失的数值替换为该列中非缺失值的平均值(均值)。最适合大致对称分布(没有极端异常值)的数值数据。
中位数填充: 将缺失的数值替换为该列中非缺失值的中位数。比均值对异常值更有效,使其成为倾斜数值数据的更好选择。
众数填充: 将缺失的分类值(或有时是离散数值)替换为该列中最常出现的值(众数)。这是非数值数据的标准方法。
优点: 易于操作。保持数据集的完整大小(不删除行)。
缺点: 降低了填充列中数据的方差(分散程度)。扭曲了变量之间的关系(如相关性),因为它假设填充值与该观测值的其他特征是独立的。不考虑不确定性。
让我们考虑一个小的例子。想象一个包含年龄的数据集:[25, 30, ?, 35, 28, ?, 40]。
? 替换为 31.6。[25, 28, 30, 35, 40]。中位数为 30。中位数填充会将 ? 替换为 30。其他填充技术(简要提及): 存在更高级的技术,例如根据其他特征填充缺失值(例如,使用回归)或寻找相似数据点(例如,k-最近邻填充)。这些方法通常提供更好的估计,但更为复杂,超出本介绍性章节的范围。
在决定策略之前,可视化缺失值的程度和模式通常很有帮助。显示每列缺失值百分比的简单条形图是一个常见的起点。
该图表显示“上次购买日期”有很高的缺失值百分比,而“城市”则没有。“收入”也有显著的缺失量。此可视化有助于确定哪些列需要优先处理。
没有处理缺失值的唯一最佳方法。选择取决于:
记录你如何处理缺失值是一项重要的做法,因为这个决定会影响你分析的最终结果。可以从简单的方法开始,通常是数值特征使用中位数填充,分类特征使用众数填充,并留意潜在的缺点。
这部分内容有帮助吗?
SimpleImputer和其他插补策略。© 2026 ApX Machine Learning用心打造