通常情况下,删除样本或者删除数据集中的整个特征列是不可行的,因为这样可能会丢失过多有价值的数据。在此情况下,我们可以使用不同的插值技术,通过数据集中其他训练样本的数据来估计缺失值。最常用的插值技术之一就是均值插补(meaneinputation),即使用相应的特征均值来替换缺失值。我们可使用scikit-learn中的Impute类方便地实现此方法,代码如下:
在此,首先计算各特征列的均值,然后使用相应的特征均值对NaN进行替换。如果我们把参数axis=0改为axis=1,则用每行的均值来进行相应的替换。参数strategy的可选项还有median或者most_frequent,后者代表使用对应行或列中出现频次最高的值来替换缺失值,常用于填充类别特征值。