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 。 |
另见
缺失值的多元估算。
注
如果策略不是“constant”,在transform
之前,fit
中仅包含缺失值的列将被丢弃。
示例
>>> import numpy as np
>>> from sklearn.impute import SimpleImputer
>>> imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')
>>> imp_mean.fit([[7, 2, 3], [4, np.nan, 6], [10, 5, 9]])
SimpleImputer()
>>> X = [[np.nan, 2, 3], [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) 输入数据。 |