学习kaggle输出处理整个总结,以下图、代码都来自于kaggle 的
micro-course
缺失值处理 共有三种方法:
-
丢弃缺失值所在的行(当缺失值较多时,影响比较大,不常用此方法)
如下代码,找到任意含有缺失值的行,凡是含有确实值都从DataFrame中去掉。下面还有使用Random Forest 训练后的Mean Absolute Error(平均绝对值误差), 可以和后面的三个方法做对比。
-
插补法( Imputation)
插补法, 使用特征列的均值、众数和众位数 等填充缺失值。
插补法还有使用回归插补、热卡插补法、多重插补法,但是一般均值、众数和众位数 就能表现的很好了。
如下例子, 使用 scipy-learn的SimpleImputer 来均值 填充, 如下也给了Mean Absolute Error

-
插补法的扩充
对含有缺失值的列,增加一列(bool类型的列, 判断当前列值是否是缺失值),如下图形式:

增加一列,判断当前列是否是缺失值, 由三种方法对比, 插补法(Imputation)Mean Absolute Error最小,表现较好。
