sklearn 缺失值填补(总结)

Posted heenhui2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sklearn 缺失值填补(总结)相关的知识,希望对你有一定的参考价值。

首先查看数据形态:

data.shape

再查看数据类型和非空值的个数与比例

data.info()

使用SimpleImputer进行填补

from sklearn.impute import SimpleImputer as si
imp_mean=si()

默认是用均值进行填补,参数如下:

  • missing_values: 空值的类型。默认np.nan

注意,numpy自带的fillna只能填补np.nan,而此处则可以指定空值的类型。比如?N/A

  • strategy: 可选:mean, median, most_frequent, constant
  • fill_value: 以什么值进行填补,当constant时可用。
  • copy:是否创建副本

当数据是连续型,一般用均值填补。数据是分类型,用众数填补。

比如当空值是?时,使用0填充:

imp_0=si(missing_values="?",strategy='constant', fill_value=0)
imp_0=imp_0.fit_transform(data_)

注意此处,data是如果是0维,则要先变为一维:

data_=data.列名.values.reshape(-1.1)

除了用均值,0,众数,中位数。还可用:算法、多重差补等。但是如用随机森林进行填补,解释性比较差。

以上是关于sklearn 缺失值填补(总结)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习sklearn----用随机森林来填充缺失值

详解支持向量机-SVC真实数据案例:预测明天是否会下雨-填补缺失值和编码菜菜的sklearn课堂笔记

使用KNN进行缺失值填补详解及实践

缺失值处理拉格朗日插值法—随机森林算法填充—sklearn填充(均值/众数/中位数)

缺失值处理

面经|缺失值填补的7种方法(使用场景+Python代码)