SimpleImputer#
- class sklearn.impute.SimpleImputer(*, missing_values=nan, strategy='mean', fill_value=None, copy=True, add_indicator=False, keep_empty_features=False)[源代码]#
Univariate imputer for completing missing values with simple strategies.
使用每列的描述性统计量(例如平均值、中位数或最频繁)或使用常数值替换缺失值。
阅读更多的 User Guide .
Added in version 0.20:
SimpleImputer
取代了之前的sklearn.preprocessing.Imputer
估计器现已删除。- 参数:
- missing_valuesint, float, str, np.nan, None or pandas.NA, default=np.nan
缺失值的占位符。的所有匹配项
missing_values
将被归因。对于具有缺失值的可空整数据类型的pandas的数据包,missing_values
可以设置为np.nan
或pd.NA
.- strategy字符串或可调用,默认值='mean'
归责策略。
如果“平均值”,则使用每列的平均值替换缺失的值。仅可用于数字数据。
如果“中位数”,则使用每列的中位数替换缺失值。仅可用于数字数据。
如果“most_frequent”,则使用每列中最频繁的值替换missing。可以与字符串或数字数据一起使用。如果存在多个此类值,则仅返回最小的值。
如果是“constant”,则用fill_Value替换缺失的值。可以与字符串或数字数据一起使用。
如果是Callable的实例,则使用在包含每列非缺失值的密集1d数组上运行可调用而返回的纯量统计量替换缺失值。
Added in version 0.20: 策略=“恒定”用于固定值插补。
Added in version 1.5: 策略=可调用自定义值插补。
- fill_value字符串或数字值,默认=无
当策略==“不变”时,
fill_value
用于替换所有出现的missing_values。对于字符串或对象数据类型,fill_value
一定是一根绳子。如果None
,fill_value
当为字符串或对象数据类型插补数字数据和“missing_Value”时,将为0。- copy布尔,默认=True
如果为True,将创建X的副本。如果为假,将尽可能就地进行插补。请注意,在以下情况下,即使
copy=False
:如果
X
不是浮点值数组;如果
X
被编码为CSR矩阵;如果
add_indicator=True
.
- add_indicator布尔,默认=假
如果为真,则为
MissingIndicator
转换将叠加到输入器转换的输出上。这使得预测估计器能够解释失踪情况,尽管有估算。如果某个特征在调整/训练时没有缺失值,则即使在变换/测试时存在缺失值,该特征也不会出现在缺失指示器上。- keep_empty_features布尔,默认=假
如果为True,则仅包含缺失值的功能
fit
被调用时在结果中返回transform
被称为。估算价值始终是0
除非strategy="constant"
在这种情况下fill_value
将被使用。Added in version 1.2.
在 1.6 版本发生变更: 目前,当
keep_empty_feature=False
和strategy="constant"
,不会删除空功能。此行为将在1.8版本中更改。设置keep_empty_feature=True
以保持这种行为。
- 属性:
- statistics_形状数组(n_features,)
每个要素的插补填充值。计算统计数据可能会导致
np.nan
价值观期间transform
,特征对应于np.nan
统计数据将被丢弃。- indicator_ :
MissingIndicator
MissingIndicator
用于为缺失值添加二进制指示符的指示符。
None
如果add_indicator=False
.- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 1.0.
参见
IterativeImputer
多元插补器,用于估计每个特征要插补的值,但所有其他特征都缺少值。
KNNImputer
多元插补器,使用最近的样本估计缺失的特征。
注意到
仅包含缺失值的列
fit
被丢弃在transform
如果战略不是"constant"
.在预测环境中,简单的插补在与弱学习者相关时通常表现不佳。然而,对于一个强大的学习者来说,它可以带来与复杂的归因(例如)一样好或更好的表现
IterativeImputer
或KNNImputer
.示例
>>> 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=None)[源代码]#
安装输入器
X
.- 参数:
- X{类数组,稀疏矩阵},形状(n_samples,n_features)
输入数据,其中
n_samples
是样本数量和n_features
是功能的数量。- y忽视
未使用,此处列出是为了按照惯例实现API一致性。
- 返回:
- self对象
拟合估计量。
- fit_transform(X, y=None, **fit_params)[源代码]#
适应数据,然后对其进行转换。
适合变压器
X
和y
具有可选参数fit_params
并返回的转换版本X
.- 参数:
- X形状类似阵列(n_samples,n_features)
输入样本。
- y形状为(n_samples,)或(n_samples,n_outputs)的阵列状, 默认值=无
目标值(无监督转换)。
- **fit_paramsdict
其他适合参数。
- 返回:
- X_newndray形状数组(n_samples,n_features_new)
变形的数组。
- get_feature_names_out(input_features=None)[源代码]#
获取用于转换的输出要素名称。
- 参数:
- input_features字符串或无的类数组,默认=无
输入功能。
如果
input_features
是None
那么feature_names_in_
在中用作功能名称。如果feature_names_in_
未定义,则生成以下输入要素名称:["x0", "x1", ..., "x(n_features_in_ - 1)"]
.如果
input_features
是一个类似阵列的,那么input_features
必须匹配feature_names_in_
如果feature_names_in_
是定义的。
- 返回:
- feature_names_out字符串对象的nd数组
转换的功能名称。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- inverse_transform(X)[源代码]#
将数据转换回原始表示形式。
反转
transform
对数组执行的操作。此操作只能在SimpleImputer
用实例化add_indicator=True
.注意
inverse_transform
只能反转具有缺失值的二进制指示符的要素的转换。如果要素在fit
当时,该功能不会有二进制指示器,并且在transform
时间不会倒转。Added in version 0.24.
- 参数:
- X阵列状的形状 (n_samples,n_features + n_features_missing_indicator)
插补数据将恢复为原始数据。它必须是估算数据和缺失指标掩码的扩充数组。
- 返回:
- X_original形状的nd数组(n_samples,n_features)
原始
X
与插补之前相同,缺少值。
- set_output(*, transform=None)[源代码]#
设置输出容器。
看到 介绍 set_output API 了解如何使用API的示例。
- 参数:
- transform{“默认”,“pandas”,“polars”},默认=无
配置输出
transform
和fit_transform
."default"
:Transformer的默认输出格式"pandas"
:DataFrame输出"polars"
:两极输出None
:转换配置不变
Added in version 1.4:
"polars"
添加了选项。
- 返回:
- self估计器实例
估计实例。