onehot_encoder#

一种将类别特征编码为独热数字数组的转换器。

模块内容#

类摘要#

OneHotEncoder

一种将类别特征编码为独热数字数组的转换器。

OneHotEncoderMeta

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) – 在 fittransform 期间遇到未知类别时是忽略还是引发错误。如果使用 top_ncategories 限制每列的类别数量,则此参数必须是 “ignore”。默认为 “ignore”。

  • handle_missing (string) – 在 fittransform 期间遇到的缺失 (NaN) 值的处理选项。如果设置为 “as_category” 且 NaN 值属于出现次数最多的 n 个类别中,则 “nan” 值将被编码为其自己的列。如果设置为 “error”,则遇到的任何缺失值都将引发错误。默认为 “error”。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

独热编码器

training_only

False

方法

categories

返回要为特定特征编码的唯一类别列表,按顺序排列。

clone

构造具有相同参数和随机状态的新组件。

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合独热编码器组件。

fit_transform

在 X 上拟合并转换 X。

get_feature_names

拟合后返回类别特征的特征名称。

load

从文件路径加载组件。

needs_fitting

返回布尔值,确定组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。

parameters

返回用于初始化组件的参数。

save

将组件保存到文件路径。

transform

对输入数据进行独热编码。

update_parameters

更新组件的参数字典。

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

check_for_fit 包装了一个方法,该方法验证 self._is_fitted 是否为 True

register

注册 ABC 的虚拟子类。

set_fit

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 方法的包装器。