缺失值指示器#

class sklearn.impute.MissingIndicator(*, missing_values=nan, features='missing-only', sparse='auto', error_on_new=True)[source]#

缺失值的二元指示器。

请注意,此组件通常不应在由变换器和分类器组成的普通Pipeline中使用,而应使用FeatureUnionColumnTransformer添加。

更多信息请参阅用户指南

0.20版本新增。

参数:
missing_valuesint, float, str, np.nan 或 None,默认值为 np.nan

缺失值的占位符。所有 missing_values 的出现都将被估算。对于具有可空整数类型的 pandas 数据框以及缺失值,missing_values 应设置为 np.nan,因为 pd.NA 将被转换为 np.nan

features{'missing-only', 'all'},默认值为'missing-only'

估算器掩码是否应表示所有特征或特征的子集。

  • 如果为'missing-only'(默认值),则填充器掩码仅在拟合期间表示包含缺失值的特征。

  • 如果为'all',则填充器掩码将表示所有特征。

sparse布尔值或 ‘auto’,默认值为’auto’

填充器掩码格式是否应为稀疏或密集。

  • 如果为'auto'(默认值),则填充器掩码将与输入类型相同。

  • 如果为True,则填充器掩码将为稀疏矩阵。

  • 如果为False,则填充器掩码将为NumPy数组。

error_on_new布尔值,默认值为True

如果为True,则transform在存在在fit中没有缺失值但在转换时却出现缺失值的特征时,将引发错误。这仅在features='missing-only'时适用。

属性:
features_形状为 (n_missing_features,) 或 (n_features,) 的ndarray

调用transform时将返回的特征索引。它们在fit期间计算。如果features='all',则features_等于range(n_features)

n_features_in_整数

fit期间看到的特征数量。

在0.24版本中添加。

feature_names_in_形状为 (n_features_in_,) 的ndarray

fit期间看到的特征名称。仅当X具有全部为字符串的特征名称时才定义。

在1.0版本中添加。

另请参阅

SimpleImputer

缺失值的单变量插补。

IterativeImputer

缺失值的多变量插补。

示例

>>> import numpy as np
>>> from sklearn.impute import MissingIndicator
>>> X1 = np.array([[np.nan, 1, 3],
...                [4, 0, np.nan],
...                [8, 1, 0]])
>>> X2 = np.array([[5, 1, np.nan],
...                [np.nan, 2, 3],
...                [2, 4, 0]])
>>> indicator = MissingIndicator()
>>> indicator.fit(X1)
MissingIndicator()
>>> X2_tr = indicator.transform(X2)
>>> X2_tr
array([[False,  True],
       [ True, False],
       [False, False]])
fit(X, y=None)[source]#

X上拟合转换器。

参数:
X形状为 (n_samples, n_features) 的{数组、稀疏矩阵}

输入数据,其中n_samples是样本数,n_features是特征数。

y忽略

未使用,根据约定存在以保持API一致性。

返回:
self对象

拟合的估计器。

fit_transform(X, y=None)[source]#

X生成缺失值指示符。

参数:
X形状为 (n_samples, n_features) 的{数组、稀疏矩阵}

要完成的输入数据。

y忽略

未使用,根据约定存在以保持API一致性。

返回:
Xt形状为 (n_samples, n_features) 或 (n_samples, n_features_with_missing) 的{ndarray,稀疏矩阵}

输入数据的缺失值指示符。Xt的数据类型将为布尔值。

get_feature_names_out(input_features=None)[source]#

获取转换后的特征名称。

参数:
input_features字符串类型的数组或None,默认值为None

输入特征。

  • 如果input_featuresNone,则使用feature_names_in_作为输入特征名称。如果feature_names_in_未定义,则生成以下输入特征名称:["x0", "x1", ..., "x(n_features_in_ - 1)"]

  • 如果input_features是数组,则如果feature_names_in_已定义,则input_features必须与feature_names_in_匹配。

返回:
feature_names_out字符串对象的ndarray

转换后的特征名称。

get_metadata_routing()[source]#

获取此对象的元数据路由。

请查看用户指南,了解路由机制的工作原理。

返回:
routingMetadataRequest

一个MetadataRequest,封装了路由信息。

get_params(deep=True)[source]#

获取此估计器的参数。

参数:
deep布尔值,默认为True

如果为 True,则将返回此估计器及其包含的子对象(也是估计器)的参数。

返回:
params字典

参数名称与其值的映射。

set_output(*, transform=None)[源代码]#

设置输出容器。

参见 介绍 set_output API,了解如何使用此 API 的示例。

参数:
transform{"default", "pandas", "polars"}, 默认值=None

配置transformfit_transform 的输出。

  • "default":转换器的默认输出格式

  • "pandas":DataFrame 输出

  • "polars":Polars 输出

  • None:转换配置保持不变

1.4 版本中新增: "polars" 选项已添加。

返回:
self估计器实例

估计器实例。

set_params(**params)[源代码]#

设置此估计器的参数。

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

参数:
**params字典

估计器参数。

返回:
self估计器实例

估计器实例。

transform(X)[源代码]#

X生成缺失值指示符。

参数:
X形状为 (n_samples, n_features) 的{数组、稀疏矩阵}

要完成的输入数据。

返回:
Xt形状为 (n_samples, n_features) 或 (n_samples, n_features_with_missing) 的{ndarray,稀疏矩阵}

输入数据的缺失值指示符。Xt的数据类型将为布尔值。