序数编码器#

一个转换器,将序数特征编码为表示类别相对顺序的序数整数数组。

模块内容#

类摘要#

OrdinalEncoder

一个转换器,将序数特征编码为表示类别相对顺序的序数整数数组。

OrdinalEncoderMeta

ComponentBaseMeta 类的一个版本,包含对额外的序数编码器特定方法 categories 的验证。

目录#

class evalml.pipelines.components.transformers.encoders.ordinal_encoder.OrdinalEncoder(features_to_encode=None, categories=None, handle_unknown='error', unknown_value=None, encoded_missing_value=None, random_seed=0, **kwargs)[source]#

一个转换器,将序数特征编码为表示类别相对顺序的序数整数数组。

参数
  • features_to_encode (list[str]) – 要编码的列列表。所有其他列将保持不变。如果为 None,将编码所有适当的列。默认为 None。列的顺序无关紧要。

  • categories (dict[str, list[str]]) – 一个字典,映射列名到它们在拟合和转换时传入的数据框中的类别。为列指定的类别顺序无关紧要。数据中存在但未在 categories 中出现的任何类别将被视为未知值。若不想让未知值引发错误,请将 handle_unknown 设置为“use_encoded_value”。默认为 None。

  • handle_unknown ("error" or "use_encoded_value") – 在 fittransform 期间遇到未知类别特征时是忽略还是引发错误。当设置为“error”时,发现未知类别将引发错误。当设置为“use_encoded_value”时,未知类别将编码为参数 unknown_value 给定的值。默认为“error”。

  • unknown_value (int or np.nan) – 在拟合或转换期间看到的未知类别要使用的值。当参数 handle_unknown 设置为“use_encoded_value”时必需。该值必须与拟合时用于编码任何类别的数值不同。默认为 None。

  • encoded_missing_value (int or np.nan) – 在拟合或转换期间看到的缺失(null)值要使用的值。默认为 np.nan。

  • 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) – 拟合期间提供给序数编码器的任何特征的名称。

返回

唯一类别,其 dtype 与拟合期间提供的相同。

返回类型

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 or dict

fit(self, X, y=None)[source]#

拟合序数编码器组件。

参数
  • X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。

  • y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。

返回

self

引发
  • ValueError – 如果编码列失败。

  • TypeError – 如果在 features_to_encode 中指定了非序数列。

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]#

拟合后返回序数特征的特征名称。

特征名称格式为 {列名}_ordinal_encoding。

返回

编码后的特征名称,以与 input_features 相同的顺序提供。

返回类型

np.ndarray

static load(file_path)#

从文件路径加载组件。

参数

file_path (str) – 加载文件的位置。

返回

ComponentBase object

needs_fitting(self)#

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

对于不需要拟合或其拟合方法不做任何操作的组件,可以将其覆盖为 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.ordinal_encoder.OrdinalEncoderMeta[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

拟合方法的包装器。

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)#

拟合方法的包装器。