CategoricalImputer#
- class feature_engine.imputation.CategoricalImputer(imputation_method='missing', fill_value='Missing', variables=None, return_object=False, ignore_format=False)[源代码][源代码]#
CategoricalImputer() 通过任意值或最频繁的类别替换分类变量中的缺失数据。
CategoricalImputer() 默认仅对类别变量(类型为 ‘object’ 或 ‘categorical’)进行插补。你可以传递一个变量列表进行插补,或者,编码器将找到并插补所有类别变量。
如果你想用这个转换器来填补数值变量,有两种方法可以实现:
选项1:在将输入数据框传递给转换器之前,将数值变量转换为对象类型。
选项 2:设置
ignore_format=True
。请注意,如果你这样做并且不传递要插补的变量列表,插补器将自动选择并插补数据框中的所有变量。更多详情请参见 用户指南。
- 参数
- imputation_method: str, default=’missing’
插补的期望方法。可以是 ‘frequent’ 用于频繁类别插补,或 ‘missing’ 用于用任意值插补。
- fill_value: str, int, float, 默认=’Missing’
用户定义的值,用于替换缺失数据。仅在
imputation_method='missing'
时使用。- 变量: 列表, 默认=无
将被插补的分类变量的列表。如果为 None,插补器将默认查找并转换所有类型为对象或分类的变量。你也可以让转换器接受数值变量,参见下面的
ignore_format
参数。- return_object: bool, default=False
如果处理的是被转换为对象的数值变量,决定是否将其返回为数值类型,或者重新将其转换为对象类型。注意,pandas 会在使用 mode 或任意数值进行转换后自动将其重新转换为数值类型。
- ignore_format: bool, default=False
是否应忽略对分类变量进行转换的格式。如果为假,插补器将自动选择类型为对象或分类的变量,或检查用户输入的变量是否为对象或分类类型。如果为真,插补器将选择所有变量或接受用户输入的所有变量,包括那些被转换为数值类型的变量。
- 属性
- imputer_dict_:
包含用于替换每个变量中缺失数据的值的字典。
- 变量_
将被转换的变量组。
- feature_names_in_:
列出在
fit
期间看到的特征名称。- n_features_in_:
在拟合中使用的训练集中的特征数量。
示例
>>> import pandas as pd >>> import numpy as np >>> from feature_engine.imputation import CategoricalImputer >>> X = pd.DataFrame(dict( >>> x1 = [np.nan,1,1,0,np.nan], >>> x2 = ["a", np.nan, "b", np.nan, "a"], >>> )) >>> ci = CategoricalImputer(imputation_method='frequent') >>> ci.fit(X) >>> ci.transform(X) x1 x2 0 NaN a 1 1.0 a 2 1.0 b 3 0.0 a 4 NaN a
方法
拟合:
学习最频繁的类别或将任意值分配给变量。
fit_transform:
拟合数据,然后进行转换。
get_feature_names_out:
获取转换后的输出特征名称。
get_params:
获取此估计器的参数。
设置参数:
设置此估计器的参数。
转换:
填补缺失数据。
- fit(X, y=None)[源代码][源代码]#
如果插补方法设置为频繁,则学习最频繁的类别。
- 参数
- X: pandas 数据框,形状为 = [样本数, 特征数]
训练数据集。
- y: pandas Series, default=None
在这个插补中不需要 y。你可以传递 None 或 y。
- fit_transform(X, y=None, **fit_params)[源代码]#
拟合数据,然后进行转换。
使用可选参数
fit_params
将转换器拟合到X
和y
,并返回X
的转换版本。- 参数
- X类似数组的形状 (n_samples, n_features)
输入样本。
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组,默认=None
目标值(无监督变换时为None)。
- **fit_参数dict
附加的拟合参数。
- 返回
- X_newndarray 数组,形状为 (n_samples, n_features_new)
转换后的数组。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请查看 用户指南 以了解路由机制的工作原理。
- 返回
- 路由MetadataRequest
一个封装了路由信息的
MetadataRequest
。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数
- 深度bool, 默认=True
如果为真,将返回此估计器及其包含的作为估计器的子对象的参数。
- 返回
- 参数dict
参数名称映射到它们的值。