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

SimpleImputer类

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

SimpleImputer()方法的语法:

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

SimpleImputer(missingValues, strategy)  

参数: 在使用SimpleImputer()方法时,必须定义以下参数:

  1. missingValues: 这是SimpleImputer()方法中的缺失值占位符,在执行过程中必须进行替代,默认情况下,缺失值占位符的值为NaN。
  2. strategy: 这是将用于替换数据集中的缺失值(NaN值)的数据,并且默认情况下,此参数的值方法为'Mean'。SimpleImputer()方法的strategy参数可以接受'Mean'、'Mode'、'Median'(中心趋势测量方法)和'Constant'值输入。

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

安装Sklearn库:

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

pip install sklearn  

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

0.png

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

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

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

示例1: 请看以下Python程序,其中包含一个数据集,其中定义了NaN值:

# 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类方法处理缺失值,并使用'mean'策略替换数据集中的缺失值。然后,我们在程序中使用numpy模块函数定义了一个数据集,并在数据集中放入了一些缺失值(NaN值)。然后,我们在输出中打印了原始数据集。之后,我们使用之前在程序中定义的SimpleImputer类插补器对数据集进行了插补并替换了其中的缺失值。在插补数据集并替换其中的缺失值后,我们将新数据集作为结果打印出来。

正如我们在输出中看到的,插补值数据集中的缺失值使用均值替代,这就是我们可以使用SimpleImputer模块类来处理数据集中的NaN值的方式。

结论

在本方法中,我们已经了解了SimpleImputer类方法,并学习了如何使用它来处理数据集中的NaN值。我们了解了strategy值参数,该参数用于定义用于替换数据集中NaN值的方法。我们还学习了如何安装Sklearn库,然后最后,我们在示例中使用SimpleImputer类方法来进行插补。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程