欢迎访问宙启技术站
智能推送

数据处理利器——介绍sklearn.impute中的SimpleImputer()函数

发布时间:2024-01-03 05:28:47

sklearn中的impute库提供了一系列用于数据填充和缺失值处理的工具函数。其中,SimpleImputer()是一种常用的数据填充工具,用于将缺失值替换为给定的常量或统计值。

SimpleImputer()可以处理数值型的特征和缺失值,并提供了几种填充缺失值的策略,包括使用常量、均值、中位数和众数进行填充。以下是SimpleImputer()使用的示例:

from sklearn.impute import SimpleImputer
import numpy as np

# 创建一个包含缺失值的数据集
X = np.array([[1, 2, np.nan],
              [3, np.nan, 4],
              [5, 6, np.nan],
              [np.nan, 7, 8]])

# 创建一个SimpleImputer对象,并使用均值进行填充
imputer = SimpleImputer(strategy='mean')
X_filled = imputer.fit_transform(X)

print(X_filled)

上述代码中,我们首先导入了SimpleImputer类和numpy库。接下来,我们创建了一个包含缺失值的数据集X。然后,我们创建了一个SimpleImputer对象imputer,并设置strategy参数为'mean',表示使用均值进行填充。最后,我们调用fit_transform()函数对数据集进行填充并打印输出。

运行以上代码,输出结果如下:

[[1.   2.   6.  ]
 [3.   5.   4.  ]
 [5.   6.   6.  ]
 [3.   7.   8.  ]]

可以看出,在填充后的数据集中,原始数据集中的缺失值位置被均值所替代。

除了使用均值进行填充外,SimpleImputer还提供了其他几种常用的填充策略。例如,当使用常量进行填充时,我们可以将strategy参数设置为'constant',并指定fill_value参数为我们希望填充的常量值。同理,当使用中位数进行填充时,我们将strategy参数设置为'median',使用众数进行填充时,我们将strategy参数设置为'most_frequent'即可。

SimpleImputer还有一些其他的参数可以进行调整。例如,我们可以通过missing_values参数指定缺失值的类型,可以使用add_indicator参数为数据增加一个缺失值指示器,可以通过copy参数控制是否改变原始数据等等。

总结而言,SimpleImputer()是一个非常实用的数据处理工具,可有效处理数据集中的缺失值。通过设置不同的策略参数,我们可以根据实际情况选择不同的填充策略,从而提高数据处理的准确性和效率。