1. 填充常数值
方法:用一个特定的常数(如0或-999)填充缺失值。
优点:
实现简单。
易于理解和实现。
缺点:
可能会引入偏差,特别是如果使用的常数值与实际数据相差较大。
2. 填充平均值/中位数/众数
方法:
均值:对于数值型变量,可以使用列的平均值。
中位数:也可以使用中位数,特别是当数据不是正态分布时。
众数:对于分类变量,可以使用众数。
优点:
比使用常数值更接近真实值。
减少因使用极端值而引入的偏差。
缺点:
忽略了数据的分布特性。
对于非均匀分布的数据,可能会导致模型性能下降。
3. 填充前向/后向填充
方法:
前向填充(ffill):用前一个非空值填充。
后向填充(bfill):用后一个非空值填充。
优点:
在时间序列数据中,可以保持趋势信息。
适用于有序数据。
缺点:
如果存在连续的缺失值,则无法填补。
可能会导致重复数据,从而影响分析结果。
4. 插值法
方法:通过数学方法估计缺失值,例如线性插值等。
优点:
能够保留数据的趋势和模式。
更加灵活,可以根据具体情况进行调整。
缺点:
计算复杂度较高。
需要对数据有一定的理解。
5. K最近邻(KNN)
方法:基于相似样本的距离来预测缺失值。
优点:
能够考虑到特征之间的相关性。
更加准确地估计缺失值。
缺点:
计算量大,特别是在高维空间。
需要选择合适的K值。
6. 预测模型
方法:使用回归或其他预测模型来估计缺失值。
优点:
利用更多的信息来进行预测。
可以捕捉到更复杂的模式。
缺点:
需要额外训练模型。
对于小样本可能过拟合。