MissingIndicator#

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 的位置都将被填充。对于包含可空整数数据类型(nullable integer dtypes)缺失值的 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,当存在在 fit 阶段没有缺失值但在转换阶段有缺失值的特征时,transform 将引发错误。这仅适用于 features='missing-only' 的情况。

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

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

n_features_in_整型

拟合 期间见到的特征数量。

版本 0.24 新增。

feature_names_in_形状为 (n_features_in_,) 的 ndarray

拟合 期间见到的特征名称。仅当 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{array-like, 稀疏矩阵}, 形状为 (n_samples, n_features)

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

y被忽略

未使用,根据惯例为了 API 一致性而存在。

返回:
self对象

拟合后的估计器。

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

X 生成缺失值指示器。

参数:
X{array-like, 稀疏矩阵}, 形状为 (n_samples, n_features)

要填充的输入数据。

y被忽略

未使用,根据惯例为了 API 一致性而存在。

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

输入数据的缺失指示器。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)[source]#

设置输出容器。

有关如何使用此 API 的示例,请参阅set_output API 简介

参数:
transform{“default”, “pandas”, “polars”}, 默认为 None

配置 transformfit_transform 的输出。

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

  • "pandas": DataFrame 输出

  • "polars": Polars 输出

  • None: 转换配置未更改

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

返回:
self估计器实例

估计器实例。

set_params(**params)[source]#

设置此估计器的参数。

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

参数:
**params字典

估计器参数。

返回:
self估计器实例

估计器实例。

transform(X)[source]#

X 生成缺失值指示器。

参数:
X{array-like, 稀疏矩阵}, 形状为 (n_samples, n_features)

要填充的输入数据。

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

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