- 机器学习从入门到入职:用sklearn与keras搭建人工智能模型
- 张威
- 393字
- 2020-08-27 17:01:00
4.2 缺失值处理
当拿到一组样本用于训练模型时,突然发现提交到模型进行训练的时候,程序报错,提示某个特征的数据不得为空。如果训练样本足够大,则可以通过舍弃含有缺失值的样本,对剩下的样本进行训练,这也是一种缺失值处理的方法,读者可以自行使用此类方式对数据进行预处理。然而,如果采集到的样本比较小,无法简单地通过舍弃样本对数据进行清洗时,就需要对含有缺失值的样本进行插补操作,通过数据的已知部分推断缺失部分,或者人为地设定数据的缺失部分。
什么样的值是缺失值?缺失值不仅仅是某个维度上的数据为空、NaN或者Null,任何没有实际意义的数据字符或者认定为表示空的字符(串)都可以视作缺失值。
通常根据样本之间的关联关系,以及数据的行或者列,对其进行插补,其策略有均值插补、中位数插补及高频数插补。在Sklearn中的sklearn.impute库中,SimpleImputer方法用于处理缺失值。首先用一个简单的例子看其是如何实现缺失值处理的,具体实现如下:
其输出结果如下: