缺失值的处理

2022/10/23

缺失值处理有时候甚至比机器学习模型本身更重要,因为数据质量决定了预测精度上限,而模型只是去逼近这个上限。

但是Missing Data Imputation是个很大的问题,具体情况具体分析,很难一概而论。涉及行业背景、特征间的关系、数据缺失的原因(随机缺失;非随机缺失;完全随机缺失,即只有一部分是可以通过统计方法处理的,另一些只能靠重新采集数据)、缺失值处理方法(少的话直接删掉,或者简单填充,连续数用均值,离散数用众数,也可以建模用统计或机器学习方法填充,也可以不用管,有的模型如XGBoost会自动处理缺失值,对流数据处理方法又有不同),还有其他诸多因素。

一些参考文献和包:

  1. 文献

很全面的综述,对于分类问题怎么处理缺失值:García-Laencina, Pedro J., José-Luis Sancho-Gómez, and Aníbal R. Figueiras-Vidal. “Pattern classification with missing data: a review.” Neural Computing and Applications 19.2 (2010): 263-282.

随机森林分类问题下缺失值的处理:Overcoming Missing Values in A Random Forest Classifier, By Alok, GUPTA

简单介绍特征工程(缺失值处理可以看做特征工程的一部分):Discover Feature Engineering, How to Engineer Features and How to Get Good at It

  1. 常用工具包

fancyimpute (https://github.com/iskandr/fancyimpute)

multiple-imputation (http://www.stefvanbuuren.nl/mi/index.html)