onehot_encoder#
一种将类别特征编码为独热数字数组的转换器。
模块内容#
类摘要#
一种将类别特征编码为独热数字数组的转换器。 |
|
ComponentBaseMeta 类的一个版本,其中包含对一个额外的独热编码器特定方法 categories 的验证。 |
目录#
- class evalml.pipelines.components.transformers.encoders.onehot_encoder.OneHotEncoder(top_n=10, features_to_encode=None, categories=None, drop='if_binary', handle_unknown='ignore', handle_missing='error', random_seed=0, **kwargs)[source]#
一种将类别特征编码为独热数字数组的转换器。
- 参数
top_n (int) – 对每列编码的类别数量。如果为 None,将编码所有类别。否则,将编码出现次数最多的 n 个类别,并丢弃所有其他类别。默认为 10。
features_to_encode (list[str]) – 要编码的列列表。所有其他列将保持不变。如果为 None,则将编码所有适当的列。默认为 None。
categories (list) – 一个二维类别列表,其中 categories[i] 是索引 i 处列的类别列表。如果 top_n 不为 None,此参数也可以是 None 或 “auto”。默认为 None。
drop (string, list) – 用于为每个特征删除一个类别的方法(“first” 或 “if_binary”)。也可以是一个列表,指定要为每个特征删除哪些类别。默认为 ‘if_binary’。
handle_unknown (string) – 在 fit 或 transform 期间遇到未知类别时是忽略还是引发错误。如果使用 top_n 或 categories 限制每列的类别数量,则此参数必须是 “ignore”。默认为 “ignore”。
handle_missing (string) – 在 fit 或 transform 期间遇到的缺失 (NaN) 值的处理选项。如果设置为 “as_category” 且 NaN 值属于出现次数最多的 n 个类别中,则 “nan” 值将被编码为其自己的列。如果设置为 “error”,则遇到的任何缺失值都将引发错误。默认为 “error”。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{}
modifies_features
True
modifies_target
False
name
独热编码器
training_only
False
方法
返回要为特定特征编码的唯一类别列表,按顺序排列。
构造具有相同参数和随机状态的新组件。
返回此组件的默认参数。
描述组件及其参数。
拟合独热编码器组件。
在 X 上拟合并转换 X。
拟合后返回类别特征的特征名称。
从文件路径加载组件。
返回布尔值,确定组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
对输入数据进行独热编码。
更新组件的参数字典。
- categories(self, feature_name)[source]#
返回要为特定特征编码的唯一类别列表,按顺序排列。
- 参数
feature_name (str) – 在 fit 期间提供给独热编码器的任何特征的名称。
- 返回
唯一类别,其数据类型与在 fit 期间提供时相同。
- 返回类型
np.ndarray
- 引发
ValueError – 如果特征未作为训练特征提供给独热编码器。
- clone(self)#
构造具有相同参数和随机状态的新组件。
- 返回
具有相同参数和随机状态的此组件的新实例。
- default_parameters(cls)#
返回此组件的默认参数。
我们的约定是 Component.default_parameters == Component().parameters。
- 返回
此组件的默认参数。
- 返回类型
dict
- describe(self, print_name=False, return_dict=False)#
描述组件及其参数。
- 参数
print_name (bool, optional) – 是否打印组件名称
return_dict (bool, optional) – 是否以字典格式 {“name”: name, “parameters”: parameters} 返回描述
- 返回
如果 return_dict 为 True,则返回字典,否则返回 None。
- 返回类型
None 或 dict
- fit(self, X, y=None)[source]#
拟合独热编码器组件。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回
self
- 引发
ValueError – 如果编码列失败。
- fit_transform(self, X, y=None)#
在 X 上拟合并转换 X。
- 参数
X (pd.DataFrame) – 用于拟合和转换的数据。
y (pd.Series) – 目标数据。
- 返回
转换后的 X。
- 返回类型
pd.DataFrame
- 引发
MethodPropertyNotFoundError – 如果转换器没有 transform 方法或实现 transform 的 component_obj。
- get_feature_names(self)[source]#
拟合后返回类别特征的特征名称。
特征名称格式为 {列名}_{类别名称}。如果名称重复,将在特征名称末尾添加一个整数以示区分。
例如,考虑一个数据框,其中一列名为“A”,类别为“x_y”,另一列名为“A_x”,类别为“y”。在此示例中,特征名称将是“A_x_y”和“A_x_y_1”。
- 返回
编码后的特征名称,与 input_features 的顺序相同。
- 返回类型
np.ndarray
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回
ComponentBase 对象
- needs_fitting(self)#
返回布尔值,确定组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。
对于不需要拟合或其 fit 方法不执行任何操作的组件,可以将其重写为 False。
- 返回
True。
- property parameters(self)#
返回用于初始化组件的参数。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将组件保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- transform(self, X, y=None)[source]#
对输入数据进行独热编码。
- 参数
X (pd.DataFrame) – 要进行独热编码的特征。
y (pd.Series) – 忽略。
- 返回
转换后的数据,其中每个类别特征都已使用独热编码编码为数值列。
- 返回类型
pd.DataFrame
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,将设置 _is_fitted 为 False。
- class evalml.pipelines.components.transformers.encoders.onehot_encoder.OneHotEncoderMeta[source]#
ComponentBaseMeta 类的一个版本,其中包含对一个额外的独热编码器特定方法 categories 的验证。
属性
FIT_METHODS
[‘fit’, ‘fit_transform’]
METHODS_TO_CHECK
None
PROPERTIES_TO_CHECK
[‘feature_importance’]
方法
check_for_fit 包装了一个方法,该方法验证 self._is_fitted 是否为 True。
注册 ABC 的虚拟子类。
fit 方法的包装器。
- classmethod check_for_fit(cls, method)#
check_for_fit 包装了一个方法,该方法验证 self._is_fitted 是否为 True。
如果为 False 则引发异常,如果为 True 则调用并返回被包装的方法。
- 参数
method (callable) – 要包装的方法。
- 返回
被包装的方法。
- 引发
ComponentNotYetFittedError – 如果组件尚未拟合。
- register(cls, subclass)#
注册 ABC 的虚拟子类。
返回子类,以便用作类装饰器。
- classmethod set_fit(cls, method)#
fit 方法的包装器。