编码器#
用于编码输入数据的组件。
包内容#
类摘要#
一种将目标标签编码为 0 到 num_classes - 1 之间数值的转换器。 |
|
一种将分类特征编码为独热数字数组的转换器。 |
|
一种将顺序特征编码为表示类别相对顺序的顺序整数数组的转换器。 |
|
一种将分类特征编码为目标编码的转换器。 |
目录#
- class evalml.pipelines.components.transformers.encoders.LabelEncoder(positive_label=None, random_seed=0, **kwargs)[source]#
一种将目标标签编码为 0 到 num_classes - 1 之间数值的转换器。
- 参数
positive_label (int, str) – 对于二元分类问题,应被视为正类 (1) 的标签。对于多类问题忽略。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。忽略。
属性
hyperparameter_ranges
{}
modifies_features
False
modifies_target
True
name
标签编码器
training_only
False
方法
构造具有相同参数和随机状态的新组件。
返回此组件的默认参数。
描述一个组件及其参数。
拟合标签编码器。
使用标签编码器拟合并转换数据。
解码目标数据。
从文件路径加载组件。
返回布尔值,指示组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
使用已拟合的标签编码器转换目标。
更新组件的参数字典。
- clone(self)#
构造具有相同参数和随机状态的新组件。
- 返回
此组件的一个新实例,具有相同的参数和随机状态。
- default_parameters(cls)#
返回此组件的默认参数。
我们的约定是 Component.default_parameters == Component().parameters。
- 返回
此组件的默认参数。
- 返回类型
dict
- describe(self, print_name=False, return_dict=False)#
描述一个组件及其参数。
- 参数
print_name (bool, 可选) – 是否打印组件名称
return_dict (bool, 可选) – 是否以字典形式返回描述,格式为 {“name”: name, “parameters”: parameters}
- 返回
如果 return_dict 为 True,返回字典,否则返回 None。
- 返回类型
None or dict
- fit(self, X, y)[source]#
拟合标签编码器。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。忽略。
y (pd.Series) – 目标训练数据,长度为 [n_samples]。
- 返回
self
- 抛出
ValueError – 如果输入 y 为 None。
- fit_transform(self, X, y)[source]#
使用标签编码器拟合并转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series) – 目标训练数据,长度为 [n_samples]。
- 返回
原始特征和目标数据的编码版本。
- 返回类型
pd.DataFrame, pd.Series
- inverse_transform(self, y)[source]#
解码目标数据。
- 参数
y (pd.Series) – 目标数据。
- 返回
目标的解码版本。
- 返回类型
pd.Series
- 抛出
ValueError – 如果输入 y 为 None。
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回
ComponentBase object
- 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) – 输入训练数据,形状为 [n_samples, n_features]。忽略。
y (pd.Series) – 目标训练数据,长度为 [n_samples]。
- 返回
原始特征和目标数据的编码版本。
- 返回类型
pd.DataFrame, pd.Series
- 抛出
ValueError – 如果输入 y 为 None。
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。
- class evalml.pipelines.components.transformers.encoders.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) – 在拟合期间提供给独热编码器的任何特征的名称。
- 返回
唯一类别,与拟合期间提供时的 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, 可选) – 是否打印组件名称
return_dict (bool, 可选) – 是否以字典形式返回描述,格式为 {“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, 可选) – 目标训练数据,长度为 [n_samples]。
- 返回
self
- 抛出
ValueError – 如果编码列失败。
- fit_transform(self, X, y=None)#
在 X 上拟合并转换 X。
- 参数
X (pd.DataFrame) – 要拟合和转换的数据。
y (pd.Series) – 目标数据。
- 返回
转换后的 X。
- 返回类型
pd.DataFrame
- 抛出
MethodPropertyNotFoundError – 如果转换器没有 transform 方法或 component_obj 没有实现 transform 方法。
- 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 object
- 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, 可选) – 如果为 True,将设置 _is_fitted 为 False。
- class evalml.pipelines.components.transformers.encoders.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]]]) – 一个字典,将列名映射到在 fit 和 transform 时传入的数据框中的类别。为列指定的类别顺序无关紧要。数据中存在的任何未在 categories 中找到的类别将作为未知值处理。要避免未知值引发错误,请将 handle_unknown 设置为 “use_encoded_value”。默认为 None。
handle_unknown (“error” 或 “use_encoded_value”) – 在 fit 或 transform 期间遇到特征的未知类别时是忽略还是抛出错误。当设置为 “error” 时,发现未知类别将抛出错误。当设置为 “use_encoded_value” 时,未知类别将编码为参数 unknown_value 给定的值。默认为 “error”。
unknown_value (int 或 np.nan) – 在 fit 或 transform 期间遇到的未知类别所使用的值。当参数 handle_unknown 设置为 “use_encoded_value” 时必填。此值必须与 fit 中用于编码任何类别的其他值不同。默认为 None。
encoded_missing_value (int 或 np.nan) – 在 fit 或 transform 期间遇到的缺失值 (null) 所使用的值。默认为 np.nan。
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) – 在拟合期间提供给顺序编码器的任何特征的名称。
- 返回
唯一类别,与拟合期间提供时的 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, 可选) – 是否打印组件名称
return_dict (bool, 可选) – 是否以字典形式返回描述,格式为 {“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, 可选) – 目标训练数据,长度为 [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 方法或 component_obj 没有实现 transform 方法。
- 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 之前是否需要拟合。
对于不需要拟合或其 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, 可选) – 如果为 True,将设置 _is_fitted 为 False。
- class evalml.pipelines.components.transformers.encoders.TargetEncoder(cols=None, smoothing=1, handle_unknown='value', handle_missing='value', random_seed=0, **kwargs)[source]#
一种将分类特征编码为目标编码的转换器。
- 参数
cols (list) – 要编码的列。如果为 None,则编码所有字符串列,否则仅编码提供的列。默认为 None
smoothing (float) – 应用的平滑因子。此值越大,期望目标值对结果目标编码的影响越大。必须严格大于 0。默认为 1.0
handle_unknown (string) – 确定如何处理遇到的特征的未知类别。选项有 ‘value’、‘error’ 和 ‘return_nan’。默认为 ‘value’,即替换为目标均值
handle_missing (string) – 确定如何处理在 fit 或 transform 期间遇到的缺失值。选项有 ‘value’、‘error’ 和 ‘return_nan’。默认为 ‘value’,即替换为目标均值
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{}
modifies_features
True
modifies_target
False
name
目标编码器
training_only
False
方法
构造具有相同参数和随机状态的新组件。
返回此组件的默认参数。
描述一个组件及其参数。
拟合目标编码器。
使用目标编码器拟合并转换数据。
拟合后返回输入特征的特征名称。
从文件路径加载组件。
返回布尔值,指示组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
使用已拟合的目标编码器转换数据。
更新组件的参数字典。
- clone(self)#
构造具有相同参数和随机状态的新组件。
- 返回
此组件的一个新实例,具有相同的参数和随机状态。
- default_parameters(cls)#
返回此组件的默认参数。
我们的约定是 Component.default_parameters == Component().parameters。
- 返回
此组件的默认参数。
- 返回类型
dict
- describe(self, print_name=False, return_dict=False)#
描述一个组件及其参数。
- 参数
print_name (bool, 可选) – 是否打印组件名称
return_dict (bool, 可选) – 是否以字典形式返回描述,格式为 {“name”: name, “parameters”: parameters}
- 返回
如果 return_dict 为 True,返回字典,否则返回 None。
- 返回类型
None or dict
- fit(self, X, y)[source]#
拟合目标编码器。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, 可选) – 目标训练数据,长度为 [n_samples]。
- 返回
self
- fit_transform(self, X, y)[source]#
使用目标编码器拟合并转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, 可选) – 目标训练数据,长度为 [n_samples]。
- 返回
转换后的数据。
- 返回类型
pd.DataFrame
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回
ComponentBase object
- 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) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, 可选) – 目标训练数据,长度为 [n_samples]。
- 返回
转换后的数据。
- 返回类型
pd.DataFrame
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。