MissingIndicator#
- class sklearn.impute.MissingIndicator(*, missing_values=nan, features='missing-only', sparse='auto', error_on_new=True)[source]#
缺失值的二进制指示器。
请注意,此组件通常不应在由转换器和分类器组成的普通
Pipeline
中使用,而是可以通过FeatureUnion
或ColumnTransformer
添加。更多信息请参阅用户指南。
版本 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'
的情况。
- 属性:
另请参阅
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_features
为None
,则使用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
配置
transform
和fit_transform
的输出。"default"
: 转换器的默认输出格式"pandas"
: DataFrame 输出"polars"
: Polars 输出None
: 转换配置未更改
版本 1.4 新增: 添加了
"polars"
选项。
- 返回:
- self估计器实例
估计器实例。