Python SimpleImputer 模块

Python SimpleImputer 模块

在本教程中,我们将学习Sklearn库的SimpleImputer模块,它以前被称为impute模块,但在Sklearn库的最新版本中进行了更新。我们将讨论SimpleImputer类以及如何使用它来处理数据集中的缺失数据,并使用Python程序替换数据集中的缺失值。

SimpleImputer 类

一个scikit-learn类,我们可以使用它来处理预测模型的数据集中的缺失值,称为SimpleImputer类。借助这个类,我们可以将数据集中的NaN(缺失值)替换为指定的占位符。我们可以通过在程序中使用SimpleImputer()方法来实现和使用这个模块类。

SimpleImputer() 方法的语法:

要在Python程序中实现SimpleImputer()类方法,我们必须使用以下语法:

SimpleImputer(missingValues, strategy)

参数: 以下是在使用SimpleImputer()方法时需要定义的参数:

  1. missingValues: 这是在执行SimpleImputer()方法时需要填补的缺失值占位符,默认情况下,缺失值占位符的值为NaN。
  2. strategy: 这是要替换数据集中缺失值(NaN值)的数据,默认情况下,此参数的值为’Mean’。SimpleImputer()方法的strategy参数可以输入’Mean’、’Mode’、’Median’(集中趋势测量方法)和’Constant’的值。
  3. fillValue: 此参数仅在策略参数中使用,如果我们选择’Constant’作为替换值方法的话,我们必须为策略参数定义一个常数值,该常数值将替换数据集中的NaN值。

SimpleImputer类是Sklearn库中的模块类,要使用这个类,首先我们必须在系统中安装Sklearn库(如果尚未安装)。

Sklearn库的安装

我们可以使用以下命令在系统的命令终端提示符中安装Sklearn:

pip install sklearn

按下回车键后,sklearn模块将开始在我们的设备上安装,如下所示:

Python SimpleImputer 模块

现在,Sklearn模块已经安装在我们的系统中,我们可以继续使用SimpleImputer类函数。

使用SimpleImputer类处理数据集中的NaN值

现在,我们将在Python程序中使用SimpleImputer类来处理数据集中的缺失值(我们将在程序中使用的数据集)。我们将在示例程序中定义一个数据集,并在其中赋予一些缺失值,然后我们使用SimpleImputer类的方法通过定义其参数来处理数据集中的缺失值。让我们通过一个示例Python程序来理解其实现。

示例1: 查看以下具有NaN值的数据集的Python程序:

# Import numpy module as nmp
import numpy as nmp
# Importing SimpleImputer class from sklearn impute module
from sklearn.impute import SimpleImputer
# Setting up imputer function variable
imputerFunc = SimpleImputer(missing_values = nmp.nan, strategy ='mean')
# Defining a dataset
dataSet = [[32, nmp.nan, 34, 47], [17, nmp.nan, 71, 53], [19, 29, nmp.nan, 79], [nmp.nan, 31, 23, 37], [19, nmp.nan, 79, 53]]
# Print original dataset
print("The Original Dataset we defined in the program: \n", dataSet)
# Imputing dataset by replacing missing values
imputerFunc = imputerFunc.fit(dataSet)
dataSet2 = imputerFunc.transform(dataSet)
# Printing imputed dataset
print("The imputed dataset after replacing missing values from it: \n", dataSet2)

输出:

The Original Dataset we defined in the program: 
 [[32, nan, 34, 47], [17, nan, 71, 53], [19, 29, nan, 79], [nan, 31, 23, 37], [19, nan, 79, 53]]
The imputed dataset after replacing missing values from it: 
 [[32.   30.   34.   47.  ]
 [17.   30.   71.   53.  ]
 [19.   29.   51.75 79.  ]
 [21.75 31.   23.   37.  ]
 [19.   30.   79.   53.  ]]

解释:

首先,我们将numpy模块(用于定义数据集)和sklearn模块(用于使用SimpleImputer类方法)导入到程序中。然后,我们使用SimpleImputer类方法定义了一个处理缺失值的imputer,并使用’mean’策略将缺失值替换为数据集中的平均值。然后,我们使用numpy模块函数在程序中定义了一个数据集,并在数据集中添加了一些缺失值(NaN值)。然后,我们将原始数据集打印到输出中。接下来,我们使用之前在程序中定义的imputer对数据集进行了填充和替换了缺失值。填充和替换了缺失值后,我们将新的数据集作为结果打印出来。

从输出中可以看出,填充值数据集中的缺失值被平均值替换,这就是我们如何使用SimpleImputer模块类来处理数据集中的NaN值。

结论

在本方法中,我们了解了SimpleImputer类方法,并学习了如何使用它来处理数据集中的NaN值。我们学习了策略值参数,用于定义替换数据集的NaN值的方法。我们还学习了Sklearn库的安装,最后,我们使用SimpleImputer类方法在示例中填充了数据集。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程