趋近智
数据提取后,它很少以完美状态出现。想象一下组装家具时缺少螺丝或说明不清;你无法搭建出可靠的东西。类似地,原始数据经常包含空白,表现为缺失值。这些在数据库中可能显示为NULL,在数值库中显示为NaN(非数字),空字符串"",或其他占位符。当值缺失时,尝试进行计算(例如查找平均值)或将数据加载到具有严格规则的系统(例如要求非空值的数据库)会变得困难。处理这些空白是数据清洗的基本组成部分。
缺失数据可能导致几个问题:
5 + NaN = NaN)。对于缺失数据没有一个完美的单一解决方法;最佳方法取决于具体情况、缺失数据的数量以及对目标可能产生的影响。以下是最常见的策略:
这包括移除包含缺失值的数据点或整个特征(列)。
当缺失数据比例较小(例如,小于5%)且随机分布时,或者当一列绝大部分为空且被认为不重要时,删除通常是合适的。
插补涉及用估计值或占位符替换缺失值。这允许你保留记录并可能使用更多数据。
让我们考虑使用均值插补缺失的“年龄”值。如果已知年龄为25、32、45、32和28,则均值为。用32(向下取整)插补缺失年龄会改变分布,如下所示。
柱状图显示了不同年龄组的用户数量。请注意,用均值 (32) 插补缺失年龄如何增加了“30-39”年龄组的数量。
常数值插补: 用预定义的常数替换缺失值。
更高级的方法: 存在回归插补(根据其他列预测缺失值)或K近邻(KNN)插补等方法,但这些通常在更高级的数据科学或机器学习 (machine learning)背景中介绍。对于ETL入门,专注于删除和简单插补通常就足够了。
如何处理缺失值的决定涉及权衡:
NULL吗?分析方法是否要求完整数据?插补是否会不可接受地扭曲结果?处理缺失值通常是一个迭代过程。你可能会尝试一种方法,评估其影响,然后调整你的方法。目标是为转换和加载阶段准备尽可能完整和准确的数据,而不引入显著偏差或丢失过多有价值信息。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•