sklearn.impute.SimpleImputer

class sklearn.impute.SimpleImputer(*, missing_values=nan, strategy='mean', fill_value=None, verbose=0, copy=True, add_indicator=False)

[源码]

用于缺失值插补的转换器。

用户指南中阅读更多内容。

0.20版中的新功能:SimpleImputer替换之前已删除的sklearn.preprocessing.Imputer 估计器。

参数 说明
missing_values number, string, np.nan (default) or None
缺失值的占位符。所有出现missing_values的情况都将被估算。对于具有缺失值的可空整数类型的pandas数据框,missing_values 应将其设置为np.nan,因为pd.NA将转换为np.nan
strategy string, default=’mean’
插补策略

- 如果是“mean”,则使用每列中的平均值替换缺失值。只能与数字数据一起使用。
- 如果为“median”,则使用每列中的中位数替换缺失值。只能与数字数据一起使用。
- 如果为“ most_frequent”,则使用每一列中的众数替换缺失值。可以与字符串或数字数据一起使用。
- 如果为“constant”,则将缺失的值替换为fill_value。可以与字符串或数字数据一起使用。

0.20版中的新功能:对于固定值插补,strategy =“ constant”。
fill_value string or numerical value, default=None
当strategy ==“ constant”时,fill_value用于替换所有missing_values出现的情况。如果保留默认值,则在填充数字数据时fill_value将为0,而对于字符串或对象数据类型则为“ missing_value”。
verbose integer, default=0
控制日志的详细程度。
copy boolean, default=True
如果为True,将创建X的副本。如果为False,只要可能,就要对其进行插补。请注意,在以下情况下,即使copy=False,也会生成一个新的副本:
- 如果X不是浮点值数组;
- 如果X被编码为CSR矩阵;
- 如果add_indicator = True。
add_indicator boolean, default=False
如果为True,则MissingIndicator转换将堆叠到输入的转换的输出上。这使得预测性估计器可以解释尽管进行了插补但仍存在缺失。如果某个特征在拟合或训练时没有缺失值,则即使在变换或测试时有缺失值,该特征也不会出现在缺失指示器上。
属性 说明
statistics_ array of shape (n_features,)
每个特征的插补填充值。np.nan值的统计信息可以计算得出。在transform过程中,特征对应的np.nan 统计信息将被丢弃。
indicator_ sklearn.impute.MissingIndicator
用于为缺失值添加二进制指示符的指示符。 如果add_indicator为False,则None

另见

IterativeImputer

缺失值的多元估算。

如果策略不是“constant”,在transform之前,fit中仅包含缺失值的列将被丢弃。

示例

>>> import numpy as np
>>> from sklearn.impute import SimpleImputer
>>> imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')
>>> imp_mean.fit([[723], [4, np.nan, 6], [1059]])
SimpleImputer()
>>> X = [[np.nan, 23], [4, np.nan, 6], [10, np.nan, 9]]
>>> print(imp_mean.transform(X))
[[ 7.   2.   3. ]
 [ 4.   3.5  6. ]
 [10.   3.5  9. ]]

方法

方法 说明
fit(X[, y]) 在X上拟合插补。
fit_transform(X[, y]) 拟合数据,然后对其进行转换。
get_params([deep]) 获取此估计器的参数。
set_params(**params) 设置此估计器的参数。
transform(X) 对X中所有缺失值进行插补。
__init__(*, missing_values=nan, strategy='mean', fill_value=None, verbose=0, copy=True, add_indicator=False)

[源码]

初始化self,参见help(type(self))获取更准确的说明。

fit(X, y=None)

[源码]

在X上拟合插补。

参数 说明
X {array-like, sparse matrix}, shape (n_samples, n_features)
输入数据,其中n_samples是样本数, n_features是特征数。
返回值 说明
self SimpleImputer
fit_transform(X, y=None, **fit_params)

[源码]

拟合数据,然后对其进行转换。

使用可选参数fit_params将转换器拟合到X和y,并返回X的转换值。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值。
**fit_params dict
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换后的数组。
get_params(deep=True)

[源码]

获取此估计器的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
set_params(**params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者具有<component>__<parameter>形式的参数, 以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估计器参数。
返回值 说明
self object
估计器实例。
transform(X)

[源码]

对X中所有缺失值进行插补。

参数 说明
X {array-like, sparse matrix}, shape (n_samples, n_features)
输入数据。