Bootstrap

数据预处理之——缺失值处理

数据预处理——缺失值处理

在进行数据挖掘和数据分析过程中,收集到的数据往往或多或少存在缺失值,这对特征选择和模型处理有很大影响。缺失值处理是非常重要的预处理步骤之一。

一. 缺失特征重要性判断

可以把数据放入对数据缺失不敏感的模型如XGB中,利用feature_importance查看缺失的特征重要性。由于XGB属于树模型,不需要太多的数据预处理过程,比如归一化等,也能取得较好的效果,且模型参数对特征的重要性程度影响不是很大,我们只需要知道大概的结果,哪些重要,哪些不重要即可。

二. 缺失处理
  1. 直接删除

尤其是对于缺失量大的特征,大量的数据缺失,即时进行填充,也会给数据带来很大的噪声,对模型会造成很大的误差,影响模型效果。
而当缺失的特征在数据中不是很重要的时候,把该特征删除是最好的选择。

  1. 平均值填充

数值类型,取同分类数据的均值;非数值类型,取出现频率最高的值,即众数。

  1. KNN填充

用欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。

  1. 回归拟合

对完整的数据集建立回归方程,
对于包含空值的对象,将已知属性值代入方程来估计未知

;