预处理#

预处理变换器组件。

包内容#

类摘要#

DateTimeFeaturizer

可以从 datetime 列自动提取特征的变换器。

Decomposer

一个组件,用于移除时间序列中的趋势和季节性,并返回分解后的组件。

DFSTransformer

Featuretools DFS 组件,为输入特征生成特征。

DropNaNRowsTransformer

用于删除包含 NaN 值行的变换器。

DropNullColumns

用于删除 NaN 值百分比超过指定阈值的特征的变换器。

DropRowsTransformer

用于删除由行索引指定的行的变换器。

EmailFeaturizer

可以自动从电子邮件中提取特征的变换器。

LogTransformer

对目标数据应用对数变换。

LSA

用于计算文本输入潜在语义分析 (LSA) 值的变换器。

NaturalLanguageFeaturizer

可以利用 featuretools 的 nlp_primitives 自动对文本列进行特征化的变换器。

PolynomialDecomposer

通过将多项式和移动平均线拟合到数据中,移除时间序列中的趋势和季节性。

ReplaceNullableTypes

用于将具有新可空 dtype 的特征替换为 EvalML 中兼容的 dtype 的变换器。

STLDecomposer

使用 STL 算法移除时间序列中的趋势和季节性。

TextTransformer

处理文本特征的所有变换器的基类。

TimeSeriesFeaturizer

用于时间序列问题中延迟输入特征和目标变量的变换器。

TimeSeriesRegularizer

用于规范化间隔不一致的 datetime 列的变换器。

URLFeaturizer

可以自动从 URL 中提取特征的变换器。

目录#

evalml.pipelines.components.transformers.preprocessing.DateTimeFeaturizer(features_to_extract=None, encode_as_categories=False, time_index=None, random_seed=0, **kwargs)[source]#

可以从 datetime 列自动提取特征的变换器。

参数
  • features_to_extract (list) – 要提取的特征列表。有效选项包括“year”、“month”、“day_of_week”、“hour”。默认为 None。

  • encode_as_categories (bool) – day-of-week 和 month 特征是否应编码为 pandas 的“category”dtype。这允许 OneHotEncoder 编码这些特征。默认为 False。

  • time_index (str) – 包含用于排序数据的时间日期信息的列名。忽略。

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

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

时间日期特征化器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合时间日期特征化器组件。

fit_transform

在 X 上拟合并变换 X。

get_feature_names

获取每个时间日期特征的类别。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

通过使用现有的 DateTime 列创建新特征,然后删除这些 DateTime 列来变换数据 X。

update_parameters

更新组件的参数字典。

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

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

拟合时间日期特征化器组件。

参数
  • X (pd.DataFrame) – 输入特征。

  • y (pd.Series, 可选) – 目标数据。忽略。

返回

self

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

获取每个时间日期特征的类别。

返回

字典,其中每个键值对都是一个列名和一个字典

将唯一的特征值映射到其整数编码。

返回类型

dict

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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

通过使用现有的 DateTime 列创建新特征,然后删除这些 DateTime 列来变换数据 X。

参数
  • X (pd.DataFrame) – 输入特征。

  • y (pd.Series, 可选) – 忽略。

返回

变换后的 X

返回类型

pd.DataFrame

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.Decomposer(component_obj=None, random_seed: int = 0, degree: int = 1, period: int = -1, seasonal_smoother: int = 7, time_index: str = None, **kwargs)[source]#

一个组件,用于移除时间序列中的趋势和季节性,并返回分解后的组件。

参数
  • parameters (dict) – 要传递给组件对象的参数字典。

  • component_obj (class) – 去趋势/去季节性类的实例。

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

  • degree (int) – 当前 PolynomialDecomposer 的次数,不用于 STLDecomposer。

  • period (int) – 对季节性信号周期的最佳猜测,以单位计。

  • seasonal_smoother (int) – STLDecomposer 的季节性平滑参数,不用于 PolynomialDecomposer。

  • time_index (str) – 特征矩阵 (X) 中应从中提取时间日期信息的列名。

属性

hyperparameter_ranges

None

invalid_frequencies

[]

modifies_features

False

modifies_target

True

name

Decomposer

needs_fitting

True

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

determine_periodicity

使用自相关方法确定季节性信号可能最显著周期的函数。

fit

将组件拟合到数据。

fit_transform

从目标变量中移除拟合的趋势和季节性。

get_trend_dataframe

返回一个数据帧列表,每个数据帧包含 3 列:趋势、季节性和残差。

inverse_transform

将趋势 + 季节性重新添加到 y。

is_freq_valid

确定给定的字符串是否代表此分解器的有效频率。

load

从文件路径加载组件。

parameters

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

plot_decomposition

绘制目标信号的分解图。

save

将组件保存到文件路径。

set_period

根据目标季节性设置组件季节周期的函数。

transform

变换数据 X。

update_parameters

更新组件的参数字典。

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

classmethod determine_periodicity(cls, X: pandas.DataFrame, y: pandas.Series, acf_threshold: float = 0.01, rel_max_order: int = 5)[source]#

使用自相关方法确定季节性信号可能最显著周期的函数。

参数
  • X (pandas.DataFrame) – 时间序列问题的特征数据。

  • y (pandas.Series) – 时间序列问题的目标数据。

  • acf_threshold (float) – 自相关函数确定周期的阈值。任何低于此阈值的值都被视为 0,不会考虑用于确定周期。默认为 0.01。

  • rel_max_order (int) – 用于确定周期的相对最大值阶数。默认为 5。

返回

时间序列数据中目标数据季节性部分重复的整数条目数

重复。如果时间序列数据以天为单位,则这是目标季节性信号重复的天数。注意:目标数据可以包含多个季节性信号。此函数仅返回较强的那个。例如,如果目标既有周季节性也有年季节性,则函数可能返回“7”或“365”,具体取决于哪个季节性自相关性更强。如果未检测到周期,则返回 None。

返回类型

int

fit(self, X, y=None)#

将组件拟合到数据。

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

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

返回

self

引发

MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 的 component_obj。

fit_transform(self, X: pandas.DataFrame, y: pandas.Series = None) tuple[pandas.DataFrame, pandas.Series][source]#

从目标变量中移除拟合的趋势和季节性。

参数
  • X (pd.DataFrame, 可选) – 忽略。

  • y (pd.Series) – 要进行去趋势和去季节性处理的目标变量。

返回

第一个元素是未修改返回的输入特征。

第二个元素是移除了拟合趋势的目标变量 y。

返回类型

tuple (pd.DataFrame, pd.Series)

abstract get_trend_dataframe(self, y: pandas.Series)[source]#

返回一个数据帧列表,每个数据帧包含 3 列:趋势、季节性和残差。

abstract inverse_transform(self, y: pandas.Series)[source]#

将趋势 + 季节性重新添加到 y。

classmethod is_freq_valid(cls, freq: str)[source]#

确定给定的字符串是否代表此分解器的有效频率。

参数

freq (str) – 要验证的频率。有关选项,请参阅 pandas 文档:https://pandas.ac.cn/pandas-docs/stable/user_guide/timeseries.html#offset-aliases

返回

布尔值,表示频率是否有效。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

property parameters(self)#

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

plot_decomposition(self, X: pandas.DataFrame, y: Union[pandas.Series, pandas.DataFrame], show: bool = False) Union[tuple[matplotlib.pyplot.Figure, list], dict[str, tuple[matplotlib.pyplot.Figure]]][source]#

绘制目标信号的分解图。

参数
  • X (pd.DataFrame) – 索引中包含时间序列数据的输入数据。

  • y (pd.Seriespd.DataFrame) – 目标变量数据,对于单变量问题以 Series 形式提供,对于多变量问题以 DataFrame 形式提供。

  • show (bool) – 是否显示图表。默认为 False。

返回

包含分解结果的图和轴

绘制在上面

(多序列) dict[str, (matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes])]: 一个字典,将序列 id 映射到

绘制了分解结果的图和轴

返回类型

(单序列) matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes]

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 保存文件的位置。

  • pickle_protocol (int) – pickle 数据流格式。

set_period(self, X: pandas.DataFrame, y: pandas.Series, acf_threshold: float = 0.01, rel_max_order: int = 5)[source]#

根据目标季节性设置组件季节周期的函数。

参数
  • X (pandas.DataFrame) – 时间序列问题的特征数据。

  • y (pandas.Series) – 时间序列问题的目标数据。

  • acf_threshold (float) – 自相关函数确定周期的阈值。任何低于此阈值的值都被视为 0,不会考虑用于确定周期。默认为 0.01。

  • rel_max_order (int) – 用于确定周期的相对最大值阶数。默认为 5。

abstract transform(self, X, y=None)#

变换数据 X。

参数
  • X (pd.DataFrame) – 要变换的数据。

  • y (pd.Series, 可选) – 目标数据。

返回

变换后的 X

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.DFSTransformer(index='index', features=None, random_seed=0, **kwargs)[source]#

Featuretools DFS 组件,为输入特征生成特征。

参数
  • index (string) – 包含索引的列的名称。如果不存在具有此名称的列,则 featuretools.EntitySet() 会创建一个具有此名称的列作为索引列。默认为“index”。

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

  • features (list) – 要在 DFS 上运行的特征列表。默认为 None。特征只有在输入中存在特征使用的列且特征本身不在输入中时才会计算。如果 features 是一个空列表,则不会对输入数据进行变换。

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

DFS 变换器

training_only

False

方法

clone

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

contains_pre_existing_features

确定 DFS 变换器的特征是否与流水线输入特征匹配。

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合 DFSTransformer 变换器组件。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

使用 featuretools 的 dfs 算法计算输入 X 的特征矩阵。

update_parameters

更新组件的参数字典。

clone(self)#

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

返回

此组件的一个新实例,具有相同的参数和随机状态。

static contains_pre_existing_features(dfs_features: Optional[List[featuretools.feature_base.FeatureBase]], input_feature_names: List[str], target: Optional[str] = None)[source]#

确定 DFS 变换器的特征是否与流水线输入特征匹配。

参数
  • dfs_features (Optional[List[FeatureBase]]) – 从 DFS 变换器输出的特征列表。

  • input_feature_names (List[str]) – 输入到 DFS 变换器的特征列表。

  • target (Optional[str]) – 我们试图预测其值的目标。这用于知道如果目标列存在于 DFS 变换器参数的特征列表中时,应忽略哪一列。

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

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

拟合 DFSTransformer 变换器组件。

参数
  • X (pd.DataFrame, np.array) – 要变换的输入数据,形状为 [n_samples, n_features]。

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

返回

self

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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

使用 featuretools 的 dfs 算法计算输入 X 的特征矩阵。

参数
  • X (pd.DataFramenp.ndarray) – 要变换的输入训练数据。形状为 [n_samples, n_features]

  • y (pd.Series, 可选) – 忽略。

返回

特征矩阵

返回类型

pd.DataFrame

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.DropNaNRowsTransformer(parameters=None, component_obj=None, random_seed=0, **kwargs)[source]#

用于删除包含 NaN 值行的变换器。

参数

random_seed (int) – 随机数生成器的种子。此组件不使用此参数。默认为 0。

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

True

name

删除 NaN 行变换器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

使用拟合组件变换数据。

update_parameters

更新组件的参数字典。

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

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

将组件拟合到数据。

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

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

返回

self

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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, 可选) – 目标数据。

返回

删除了 NaN 行的数据。

返回类型

(pd.DataFrame, pd.Series)

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.DropNullColumns(pct_null_threshold=1.0, random_seed=0, **kwargs)[source]#

用于删除 NaN 值百分比超过指定阈值的特征的变换器。

参数
  • pct_null_threshold (float) – 要删除的输入特征中 NaN 值的百分比。必须是 [0, 1] 之间的值(包含)。如果等于 0.0,将删除包含任何空值的列。如果等于 1.0,将删除包含所有空值的列。默认为 0.95。

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

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

删除空值列变换器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

通过删除空值百分比超过阈值的列来变换数据 X。

update_parameters

更新组件的参数字典。

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

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

将组件拟合到数据。

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

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

返回

self

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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。

参数
  • X (pd.DataFrame) – 要变换的数据

  • y (pd.Series, 可选) – 忽略。

返回

变换后的 X

返回类型

pd.DataFrame

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.DropRowsTransformer(indices_to_drop=None, random_seed=0)[source]#

用于删除由行索引指定的行的变换器。

参数
  • indices_to_drop (list) – 要在输入数据中删除的索引列表。默认为 None。

  • random_seed (int) – 随机数生成器的种子。此组件不使用此参数。默认为 0。

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

True

name

删除行变换器

training_only

True

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

使用拟合组件变换数据。

update_parameters

更新组件的参数字典。

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 或 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 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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, pd.Series)

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.EmailFeaturizer(random_seed=0, **kwargs)[source]#

可以自动从电子邮件中提取特征的变换器。

参数

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

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

电子邮件特征化器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

变换数据 X。

update_parameters

更新组件的参数字典。

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

fit(self, X, y=None)#

将组件拟合到数据。

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

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

返回

self

引发

MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 的 component_obj。

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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

变换数据 X。

参数
  • X (pd.DataFrame) – 要变换的数据。

  • y (pd.Series, 可选) – 目标数据。

返回

变换后的 X

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

evalml.pipelines.components.transformers.preprocessing.LogTransformer(random_seed=0)[source]#

对目标数据应用对数变换。

属性

hyperparameter_ranges

{}

modifies_features

False

modifies_target

True

name

对数变换器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合 LogTransformer。

fit_transform

对目标变量进行对数变换。

inverse_transform

对目标数据应用指数。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

对目标变量进行对数变换。

update_parameters

更新组件的参数字典。

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

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

拟合 LogTransformer。

参数
  • X (pd.DataFramenp.ndarray) – 忽略。

  • y (pd.Series, 可选) – 忽略。

返回

self

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

对目标变量进行对数变换。

参数
  • X (pd.DataFrame, 可选) – 忽略。

  • y (pd.Series) – 要进行对数变换的目标变量。

返回

输入特征未修改返回。目标

变量 y 已进行对数变换。

返回类型

tuple (pd.DataFrame, pd.Series)

inverse_transform(self, y)[source]#

对目标数据应用指数。

参数

y (pd.Series) – 目标变量。

返回

应用指数变换后的目标。

返回类型

pd.Series

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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) – 要进行对数转换的目标数据。

返回

输入特征未修改返回。目标

变量 y 已进行对数变换。

返回类型

tuple (pd.DataFrame, pd.Series)

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

class evalml.pipelines.components.transformers.preprocessing.LSA(random_seed=0, **kwargs)[source]#

用于计算文本输入潜在语义分析 (LSA) 值的变换器。

参数

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

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

LSA 转换器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合输入数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

通过应用 LSA 管线转换数据 X。

update_parameters

更新组件的参数字典。

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

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

拟合输入数据。

参数
  • X (pd.DataFrame) – 要转换的数据。

  • y (pd.Series, 可选) – 忽略。

返回

self

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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

通过应用 LSA 管线转换数据 X。

参数
  • X (pd.DataFrame) – 要转换的数据。

  • y (pd.Series, 可选) – 忽略。

返回

转换后的 X。原始列将被移除,并替换为格式为

LSA(original_column_name)[feature_number] 的两个列,其中 feature_number 为 0 或 1。

返回类型

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.preprocessing.NaturalLanguageFeaturizer(random_seed=0, **kwargs)[source]#

使用 featuretools 的 nlp_primitives 自动对文本列进行特征化的转换器。

由于模型无法处理非数值数据,任何文本都必须分解为提供有关该文本有用信息的特征。此组件将每个文本列分割为几个信息丰富的特征:多样性评分、每词平均字符数、极性评分、LSA(潜在语义分析)、字符数和词数。在此组件上调用 transform 将替换给定数据集中的任何文本列为这些数值列。

参数

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

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

自然语言特征化器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

通过使用现有文本列创建新特征来转换数据 X。

update_parameters

更新组件的参数字典。

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

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

将组件拟合到数据。

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

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

返回

self

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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。

参数
  • X (pd.DataFrame) – 要转换的数据。

  • y (pd.Series, 可选) – 忽略。

返回

变换后的 X

返回类型

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.preprocessing.PolynomialDecomposer(time_index: str = None, degree: int = 1, period: int = -1, random_seed: int = 0, **kwargs)[source]#

通过将多项式和移动平均线拟合到数据中,移除时间序列中的趋势和季节性。

使用 Scikit-learn 的 PolynomialForecaster 生成目标数据的加性趋势部分。在拟合过程中,将用多项式拟合数据。

该加性多项式趋势将在拟合过程中被移除,以便 statsmodel 的 seasonal_decompose 可以通过使用序列的推断周期性的移动平均值来确定数据的加性季节性。

例如,每日时间序列数据将生成数据第一周的移动平均值,归一化均值并返回重复整个给定序列长度的 7 个平均值。这七个平均值根据需要重复,以匹配给定目标数据的长度,将用作数据的季节性信号。

参数
  • time_index (str) – 指定 X 中提供 datetime 对象的列名。默认为 None。

  • degree (int) – 多项式的次数。如果为 1,则使用线性模型拟合数据。如果为 2,则使用二次模型拟合,以此类推。默认为 1。

  • period (int) – 时间序列数据中对应一个周期性信号周期的条目数。例如,如果已知数据具有每周季节性信号,并且数据是每日数据,则 period 应为 7。对于具有年度季节性信号的每日数据,period 应为 365。默认为 -1,使用 statsmodels 库的 freq_to_period 函数。statsmodels/statsmodels

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

属性

hyperparameter_ranges

{ “degree”: 整数 (1, 3)}

invalid_frequencies

[]

modifies_features

False

modifies_target

True

name

多项式分解器

needs_fitting

True

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

determine_periodicity

使用自相关方法确定季节性信号可能最显著周期的函数。

fit

拟合 PolynomialDecomposer 并确定季节性信号。

fit_transform

从目标变量中移除拟合的趋势和季节性。

get_trend_dataframe

返回一个包含 4 列(signal、trend、seasonality、residual)的数据帧列表。

inverse_transform

将拟合的趋势和季节性加回到目标变量中。

is_freq_valid

确定给定的字符串是否代表此分解器的有效频率。

load

从文件路径加载组件。

parameters

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

plot_decomposition

绘制目标信号的分解图。

save

将组件保存到文件路径。

set_period

根据目标季节性设置组件季节周期的函数。

transform

通过移除多项式趋势和移动平均季节性来转换目标数据。

update_parameters

更新组件的参数字典。

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

classmethod determine_periodicity(cls, X: pandas.DataFrame, y: pandas.Series, acf_threshold: float = 0.01, rel_max_order: int = 5)#

使用自相关方法确定季节性信号可能最显著周期的函数。

参数
  • X (pandas.DataFrame) – 时间序列问题的特征数据。

  • y (pandas.Series) – 时间序列问题的目标数据。

  • acf_threshold (float) – 自相关函数确定周期的阈值。任何低于此阈值的值都被视为 0,不会考虑用于确定周期。默认为 0.01。

  • rel_max_order (int) – 用于确定周期的相对最大值阶数。默认为 5。

返回

时间序列数据中目标数据季节性部分重复的整数条目数

重复。如果时间序列数据以天为单位,则这是目标季节性信号重复的天数。注意:目标数据可以包含多个季节性信号。此函数仅返回较强的那个。例如,如果目标既有周季节性也有年季节性,则函数可能返回“7”或“365”,具体取决于哪个季节性自相关性更强。如果未检测到周期,则返回 None。

返回类型

int

fit(self, X: pandas.DataFrame, y: pandas.Series = None) PolynomialDecomposer[source]#

拟合 PolynomialDecomposer 并确定季节性信号。

当前仅拟合多项式去趋势器。季节性通过从信号中移除趋势并使用 statsmodels 的 seasonal_decompose() 来确定。趋势和季节性当前都假定为加性的。

参数
  • X (pd.DataFrame, optional) – 有条件地用于构建 datetime 索引。

  • y (pd.Series) – 要进行去趋势和去季节性处理的目标变量。

返回

self

引发
  • NotImplementedError – 如果输入数据的频率为“month-begin”。这不被 statsmodels decompose 支持,因为 freqstr “MS” 被错误解释为毫秒。

  • ValueError – 如果 y 为 None。

  • ValueError – 如果目标数据没有 DatetimeIndex 且特征数据中没有 Datetime 特征

fit_transform(self, X: pandas.DataFrame, y: pandas.Series = None) tuple[pandas.DataFrame, pandas.Series]#

从目标变量中移除拟合的趋势和季节性。

参数
  • X (pd.DataFrame, 可选) – 忽略。

  • y (pd.Series) – 要进行去趋势和去季节性处理的目标变量。

返回

第一个元素是未修改返回的输入特征。

第二个元素是移除了拟合趋势的目标变量 y。

返回类型

tuple (pd.DataFrame, pd.Series)

get_trend_dataframe(self, X: pandas.DataFrame, y: pandas.Series) list[pandas.DataFrame][source]#

返回一个包含 4 列(signal、trend、seasonality、residual)的数据帧列表。

使用 Scikit-learn 的 PolynomialForecaster 生成目标数据的趋势部分。使用 statsmodel 的 seasonal_decompose 生成数据的季节性。

参数
  • X (pd.DataFrame) – 索引中包含时间序列数据的输入数据。

  • y (pd.Seriespd.DataFrame) – 目标变量数据,对于单变量问题以 Series 形式提供,对于多变量问题以 DataFrame 形式提供。

返回

每个 DataFrame 包含列“signal”、“trend”、“seasonality”和“residual”,

后三列的值是目标数据的分解元素。“signal”列只是输入目标信号,但使用 datetime 索引重新索引以匹配输入特征。

返回类型

pd.DataFrame 列表

引发
  • TypeError – 如果 X 的索引中没有时间序列数据。

  • ValueError – 如果 X 的时间序列索引没有推断频率。

  • ValueError – 如果与去趋势器相关的预测器尚未拟合。

  • TypeError – 如果 y 未提供为 pandas Series 或 DataFrame。

inverse_transform(self, y_t: pandas.Series) tuple[pandas.DataFrame, pandas.Series][source]#

将拟合的趋势和季节性加回到目标变量中。

多项式趋势被加回到信号中,调用去趋势器的 inverse_transform()。然后,季节性被向前预测并加回到信号中。

参数

y_t (pd.Series) – 目标变量。

返回

第一个元素是未修改返回的输入特征。

第二个元素是加回趋势和季节性后的目标变量 y。

返回类型

tuple (pd.DataFrame, pd.Series)

引发

ValueError – 如果 y 为 None。

classmethod is_freq_valid(cls, freq: str)#

确定给定的字符串是否代表此分解器的有效频率。

参数

freq (str) – 要验证的频率。有关选项,请参阅 pandas 文档:https://pandas.ac.cn/pandas-docs/stable/user_guide/timeseries.html#offset-aliases

返回

布尔值,表示频率是否有效。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

property parameters(self)#

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

plot_decomposition(self, X: pandas.DataFrame, y: Union[pandas.Series, pandas.DataFrame], show: bool = False) Union[tuple[matplotlib.pyplot.Figure, list], dict[str, tuple[matplotlib.pyplot.Figure]]]#

绘制目标信号的分解图。

参数
  • X (pd.DataFrame) – 索引中包含时间序列数据的输入数据。

  • y (pd.Seriespd.DataFrame) – 目标变量数据,对于单变量问题以 Series 形式提供,对于多变量问题以 DataFrame 形式提供。

  • show (bool) – 是否显示图表。默认为 False。

返回

包含分解结果的图和轴

绘制在上面

(多序列) dict[str, (matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes])]: 一个字典,将序列 id 映射到

绘制了分解结果的图和轴

返回类型

(单序列) matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes]

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 保存文件的位置。

  • pickle_protocol (int) – pickle 数据流格式。

set_period(self, X: pandas.DataFrame, y: pandas.Series, acf_threshold: float = 0.01, rel_max_order: int = 5)#

根据目标季节性设置组件季节周期的函数。

参数
  • X (pandas.DataFrame) – 时间序列问题的特征数据。

  • y (pandas.Series) – 时间序列问题的目标数据。

  • acf_threshold (float) – 自相关函数确定周期的阈值。任何低于此阈值的值都被视为 0,不会考虑用于确定周期。默认为 0.01。

  • rel_max_order (int) – 用于确定周期的相对最大值阶数。默认为 5。

transform(self, X: pandas.DataFrame, y: pandas.Series = None) tuple[pandas.DataFrame, pandas.Series][source]#

通过移除多项式趋势和移动平均季节性来转换目标数据。

将拟合的多项式去趋势器应用于目标数据,移除加性多项式趋势。然后,利用在 .fit() 函数中确定的第一个周期的季节性数据来外推要转换数据的季节性信号。此季节性信号也被假定为加性的并被移除。

参数
  • X (pd.DataFrame, optional) – 有条件地用于构建 datetime 索引。

  • y (pd.Series) – 要进行去趋势和去季节性处理的目标变量。

返回

输入特征未修改返回。目标

变量 y 已去趋势并去季节化。

返回类型

tuple (pd.DataFrame, pd.Series)

引发

ValueError – 如果目标数据没有 DatetimeIndex 且特征数据中没有 Datetime 特征

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

class evalml.pipelines.components.transformers.preprocessing.ReplaceNullableTypes(random_seed=0, **kwargs)[source]#

用于将具有新可空 dtype 的特征替换为 EvalML 中兼容的 dtype 的变换器。

属性

hyperparameter_ranges

None

modifies_features

True

modifies_target

{}

name

替换可空类型转换器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

将数据和目标数据中的非可空类型替换为新的 pandas 可空类型。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

通过将包含可空类型的列替换为适当的替换类型来转换数据。

update_parameters

更新组件的参数字典。

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

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

将组件拟合到数据。

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

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

返回

self

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

将数据和目标数据中的非可空类型替换为新的 pandas 可空类型。

参数
  • X (pd.DataFrame, optional) – 输入特征。

  • y (pd.Series) – 目标数据。

返回

设置了非可空类型的输入特征和目标数据。

返回类型

tuple (pd.DataFrame, pd.Series)

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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

通过将包含可空类型的列替换为适当的替换类型来转换数据。

可空整数使用“float64”,可空布尔值使用“category”。

参数
  • X (pd.DataFrame) – 要变换的数据

  • y (pd.Series, optional) – 要转换的目标数据

返回

转换后的 X pd.Series:转换后的 y

返回类型

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.preprocessing.STLDecomposer(time_index: str = None, series_id: str = None, degree: int = 1, period: int = None, periods: dict = None, seasonal_smoother: int = 7, random_seed: int = 0, **kwargs)[source]#

使用 STL 算法移除时间序列中的趋势和季节性。

https://statsmodels.cn/dev/generated/statsmodels.tsa.seasonal.STL.html

参数
  • time_index (str) – 指定 X 中提供 datetime 对象的列名。默认为 None。

  • series_id (str) – 指定 X 中为多序列提供 series_id 对象的列名。默认为 None。

  • degree (int) – 当前未使用。STL 有 3 个“类似次数”的值。目前无法设置。默认为 1。

  • period (int) – 时间序列数据中对应一个周期性信号周期的条目数。例如,如果已知数据具有每周季节性信号,并且数据是每日数据,则 period 很可能为 7。对于具有年度季节性信号的每日数据,period 很可能为 365。如果为 None,statsmodels 将根据频率推断周期。默认为 None。

  • seasonal_smoother (int) – 底层 STL 算法使用的季节平滑器长度。为了兼容性,必须为奇数。如果提供偶数,将使用下一个最大的奇数。默认为 7。

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

属性

hyperparameter_ranges

None

invalid_frequencies

[]

modifies_features

False

modifies_target

True

name

STL 分解器

needs_fitting

True

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

determine_periodicity

使用自相关方法确定季节性信号可能最显著周期的函数。

fit

拟合 STLDecomposer 并确定季节性信号。

fit_transform

从目标变量中移除拟合的趋势和季节性。

get_trend_dataframe

返回一个包含 4 列(signal、trend、seasonality、residual)的数据帧列表。

get_trend_prediction_intervals

计算趋势数据的预测区间。

inverse_transform

将拟合的趋势和季节性加回到目标变量中。

is_freq_valid

确定给定的字符串是否代表此分解器的有效频率。

load

从文件路径加载组件。

parameters

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

plot_decomposition

绘制目标信号的分解图。

save

将组件保存到文件路径。

set_period

根据目标季节性设置组件季节周期的函数。

transform

通过移除 STL 趋势和季节性来转换目标数据。

update_parameters

更新组件的参数字典。

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

classmethod determine_periodicity(cls, X: pandas.DataFrame, y: pandas.Series, acf_threshold: float = 0.01, rel_max_order: int = 5)#

使用自相关方法确定季节性信号可能最显著周期的函数。

参数
  • X (pandas.DataFrame) – 时间序列问题的特征数据。

  • y (pandas.Series) – 时间序列问题的目标数据。

  • acf_threshold (float) – 自相关函数确定周期的阈值。任何低于此阈值的值都被视为 0,不会考虑用于确定周期。默认为 0.01。

  • rel_max_order (int) – 用于确定周期的相对最大值阶数。默认为 5。

返回

时间序列数据中目标数据季节性部分重复的整数条目数

重复。如果时间序列数据以天为单位,则这是目标季节性信号重复的天数。注意:目标数据可以包含多个季节性信号。此函数仅返回较强的那个。例如,如果目标既有周季节性也有年季节性,则函数可能返回“7”或“365”,具体取决于哪个季节性自相关性更强。如果未检测到周期,则返回 None。

返回类型

int

fit(self, X: pandas.DataFrame, y: Union[pandas.Series, pandas.DataFrame] = None) STLDecomposer[source]#

拟合 STLDecomposer 并确定季节性信号。

使用组件存储的参数实例化一个 statsmodels STL decompose 对象并拟合它。由于 statsmodels 对象不符合 sklearn api,因此在 _component_obj 的 __init__() 期间不会保存它,并且每次调用 fit 时都会重新实例化。

为了模拟 sklearn API,当 STL 分解器拟合时,会保存完整的季节分量、季节分量的单周期样本、完整的趋势-周期分量以及残差。

y(t) = S(t) + T(t) + R(t)

参数
  • X (pd.DataFrame, optional) – 有条件地用于构建 datetime 索引。

  • y (pd.Seriespd.DataFrame) – 要去趋势和去季节化的目标变量。

返回

self

引发
  • ValueError – 如果 y 为 None。

  • ValueError – 如果目标数据没有 DatetimeIndex 且特征数据中没有 Datetime 特征

fit_transform(self, X: pandas.DataFrame, y: pandas.Series = None) tuple[pandas.DataFrame, pandas.Series]#

从目标变量中移除拟合的趋势和季节性。

参数
  • X (pd.DataFrame, 可选) – 忽略。

  • y (pd.Series) – 要进行去趋势和去季节性处理的目标变量。

返回

第一个元素是未修改返回的输入特征。

第二个元素是移除了拟合趋势的目标变量 y。

返回类型

tuple (pd.DataFrame, pd.Series)

get_trend_dataframe(self, X, y)[source]#

返回一个包含 4 列(signal、trend、seasonality、residual)的数据帧列表。

参数
  • X (pd.DataFrame) – 索引中包含时间序列数据的输入数据。

  • y (pd.Seriespd.DataFrame) – 目标变量数据,对于单变量问题以 Series 形式提供,对于多变量问题以 DataFrame 形式提供。

返回

每个 DataFrame 包含列“signal”、“trend”、“seasonality”和“residual”,

后三列的值是目标数据的分解元素。“signal”列只是输入目标信号,但使用 datetime 索引重新索引以匹配输入特征。

(多序列)字典列表:Series id 映射到一个 pd.DataFrame 列表,每个 DataFrame 都包含“signal”、“trend”、“seasonality”和“residual”列

返回类型

(单序列)pd.DataFrame 列表

引发
  • TypeError – 如果 X 的索引中没有时间序列数据。

  • ValueError – 如果 X 的时间序列索引没有推断频率。

  • ValueError – 如果与去趋势器相关的预测器尚未拟合。

  • TypeError – 如果 y 未提供为 pandas Series 或 DataFrame。

get_trend_prediction_intervals(self, y, coverage=None)[source]#

计算趋势数据的预测区间。

参数
  • y (pd.Seriespd.DataFrame) – 目标数据。

  • coverage (list[float]) – 一个介于 0 和 1 之间的浮点数列表,用于计算预测区间的上限和下限。

返回

预测区间,键格式为 {coverage}_lower 或 {coverage}_upper。(多序列)字典的字典,键为 pd.Series:每个 series id 映射到一个预测区间字典

返回类型

(单序列)pd.Series 字典

inverse_transform(self, y_t: Union[pandas.Series, pandas.DataFrame]) Union[pandas.Series, pandas.DataFrame][source]#

将拟合的趋势和季节性加回到目标变量中。

STL 趋势被预测覆盖整个请求的目标范围,然后加回到信号中。然后,季节性被向前预测并加回到信号中。

参数

y_t (pd.Seriespd.DataFrame) – 目标变量。

返回

加回趋势和季节性后的目标变量 y。

返回类型

pd.Series 或 pd.DataFrame

引发

ValueError – 如果 y 为 None。

classmethod is_freq_valid(cls, freq: str)#

确定给定的字符串是否代表此分解器的有效频率。

参数

freq (str) – 要验证的频率。有关选项,请参阅 pandas 文档:https://pandas.ac.cn/pandas-docs/stable/user_guide/timeseries.html#offset-aliases

返回

布尔值,表示频率是否有效。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

property parameters(self)#

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

plot_decomposition(self, X: pandas.DataFrame, y: Union[pandas.Series, pandas.DataFrame], show: bool = False) Union[tuple[matplotlib.pyplot.Figure, list], dict[str, tuple[matplotlib.pyplot.Figure]]]#

绘制目标信号的分解图。

参数
  • X (pd.DataFrame) – 索引中包含时间序列数据的输入数据。

  • y (pd.Seriespd.DataFrame) – 目标变量数据,对于单变量问题以 Series 形式提供,对于多变量问题以 DataFrame 形式提供。

  • show (bool) – 是否显示图表。默认为 False。

返回

包含分解结果的图和轴

绘制在上面

(多序列) dict[str, (matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes])]: 一个字典,将序列 id 映射到

绘制了分解结果的图和轴

返回类型

(单序列) matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes]

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 保存文件的位置。

  • pickle_protocol (int) – pickle 数据流格式。

set_period(self, X: pandas.DataFrame, y: pandas.Series, acf_threshold: float = 0.01, rel_max_order: int = 5)#

根据目标季节性设置组件季节周期的函数。

参数
  • X (pandas.DataFrame) – 时间序列问题的特征数据。

  • y (pandas.Series) – 时间序列问题的目标数据。

  • acf_threshold (float) – 自相关函数确定周期的阈值。任何低于此阈值的值都被视为 0,不会考虑用于确定周期。默认为 0.01。

  • rel_max_order (int) – 用于确定周期的相对最大值阶数。默认为 5。

transform(self, X: pandas.DataFrame, y: Union[pandas.Series, pandas.DataFrame] = None) Union[tuple[pandas.DataFrame, pandas.Series], tuple[pandas.DataFrame, pandas.DataFrame]][source]#

通过移除 STL 趋势和季节性来转换目标数据。

使用 ARIMA 模型向前预测并移除加性趋势。然后,利用在 .fit() 函数中确定的第一个周期的季节性数据来外推要转换数据的季节性信号。此季节性信号也被假定为加性的并被移除。

参数
  • X (pd.DataFrame, optional) – 有条件地用于构建 datetime 索引。

  • y (pd.Seriespd.DataFrame) – 要去趋势和去季节化的目标变量。

返回

输入特征列表未修改返回。目标变量

变量 y 已去趋势并去季节化。

(多序列)pd.DataFrame, pd.DataFrame: 输入特征列表未修改返回。目标变量

变量 y 已去趋势并去季节化。

返回类型

(单序列)pd.DataFrame, pd.Series

引发

ValueError – 如果目标数据没有 DatetimeIndex 且特征数据中没有 Datetime 特征

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

class evalml.pipelines.components.transformers.preprocessing.TextTransformer(component_obj=None, random_seed=0, **kwargs)[source]#

处理文本特征的所有变换器的基类。

参数
  • component_obj (obj) – 对组件实现有用的第三方对象。默认为 None。

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

属性

modifies_features

True

modifies_target

False

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

name

返回此组件的字符串名称。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

变换数据 X。

update_parameters

更新组件的参数字典。

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

fit(self, X, y=None)#

将组件拟合到数据。

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

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

返回

self

引发

MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 的 component_obj。

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

property name(cls)#

返回此组件的字符串名称。

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 数据流格式。

abstract transform(self, X, y=None)#

变换数据 X。

参数
  • X (pd.DataFrame) – 要变换的数据。

  • y (pd.Series, 可选) – 目标数据。

返回

变换后的 X

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

class evalml.pipelines.components.transformers.preprocessing.TimeSeriesFeaturizer(time_index=None, max_delay=2, gap=0, forecast_horizon=1, conf_level=0.05, rolling_window_size=0.25, delay_features=True, delay_target=True, random_seed=0, **kwargs)[source]#

用于时间序列问题中延迟输入特征和目标变量的变换器。

此组件使用基于目标变量自相关值(autocorrelation values)的算法来确定从所有可能滞后(lags)集合中选择哪些滞后。

该算法基于这样的思想:自相关函数的局部最大值指示对当前时间影响最大的滞后。

该算法计算自相关值并找到在给定 conf_level 下显著的局部最大值,称为“峰值”。由于滞后在 [0, 10] 范围内往往具有预测性但不是局部最大值,因此将这些峰值与 [0, 10] 范围内显著的滞后合并。最后,仅使用 [0, max_delay] 范围内的选定滞后。

通过 conf_level 对算法进行参数化,使 AutoMLAlgorithm 可以调整选择的滞后集合,从而提高找到良好滞后集合的机会。

使用 conf_level 值为 1 会选择所有可能的滞后。

参数
  • time_index (str) – 包含用于排序数据的时间日期信息的列名。忽略。

  • max_delay (int) – 每个特征的最大延迟时间单位数。默认为 2。

  • forecast_horizon (int) – 管道预计预测的时间段数。

  • conf_level (float) – 范围在 (0, 1] 之间的浮点数,用于确定置信区间大小,以从集合 [1, max_delay] 中选择要计算的滞后。滞后 1 将始终计算。如果为 1,则选择集合 [1, max_delay] 中的所有可能的滞后(包括端点)。

  • rolling_window_size (float) – 范围在 (0, 1] 之间的浮点数,用于确定滚动特征窗口的大小。大小计算为 rolling_window_size * max_delay。

  • delay_features (bool) – 是否延迟输入特征。默认为 True。

  • delay_target (bool) – 是否延迟目标变量。默认为 True。

  • gap (int) – 特征收集时间与目标收集时间之间的时间单位数。例如,如果您预测下一个时间步的目标,则 gap=1。这仅在 gap=0 时需要,以便确保目标变量的滞后从 1 开始。默认为 1。

  • random_seed (int) – 随机数生成器的种子。无论提供的随机种子是什么,此转换器都执行相同的操作。

属性

df_colname_prefix

{}_delay_{}

hyperparameter_ranges

Real(0.001, 1.0), “rolling_window_size”: Real(0.001, 1.0)}:type: {“conf_level”

modifies_features

True

modifies_target

False

name

时间序列特征化器

needs_fitting

True

target_colname_prefix

target_delay_{}

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合 DelayFeatureTransformer。

fit_transform

拟合组件并转换输入数据。

load

从文件路径加载组件。

parameters

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

save

将组件保存到文件路径。

transform

计算 X 和 y 的延迟值和滚动平均值。

update_parameters

更新组件的参数字典。

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

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

拟合 DelayFeatureTransformer。

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

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

返回

self

引发

ValueError – 如果 self.time_index 为 None

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

拟合组件并转换输入数据。

参数
  • X (pd.DataFrame) – 要变换的数据。

  • y (pd.Series, or None) – 目标变量。

返回

变换后的 X。

返回类型

pd.DataFrame

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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 和 y 的延迟值和滚动平均值。

选择的延迟由目标变量的自相关函数确定。关于如何选择延迟的更多信息,请参见类文档字符串。如果 y 为 None,则选择所有可能的滞后。

如果 y 不为 None,它还将计算目标变量的延迟值。

如果 y 是数值类型,X 和 y 中所有数值特征的滚动平均值也将返回。

参数
  • X (pd.DataFrame or None) – 要转换的数据。仅使用目标变量时预计为 None。

  • y (pd.Series, or None) – 目标变量。

返回

转换后的 X。不返回原始特征。

返回类型

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.preprocessing.TimeSeriesRegularizer(time_index=None, frequency_payload=None, window_length=4, threshold=0.4, random_seed=0, **kwargs)[source]#

用于规范化间隔不一致的 datetime 列的变换器。

如果将 X 传递给 fit/transform,则将检查列 time_index 是否具有可推断的偏移频率。如果 time_index 列完全可推断,则此转换器将不做任何操作并返回原始 X 和 y。

如果 X 没有完全可推断的频率但可以估计频率,则将根据估计的 time_index 频率重新格式化 X 和 y。在传递的原始 X 和 y 中: - 将添加缺失的 datetime 值,并且 X 和 y 中对应的列将设置为 None。 - 重复的 datetime 值将被删除。 - 多余的 datetime 值将被删除。 - 如果可以确定重复或多余的值是错位的,则会将其重新定位以取代缺失值。

此转换器应在 TimeSeriesImputer 之前使用,以便对添加到 X 和 y(如果已传递)中的缺失值进行插补。

如果在多系列数据集上使用,则专门在未堆叠(unstacked)的数据集上工作。

参数
  • time_index (string) – 包含用于排序数据的 datetime 信息的列名,必需。默认为 None。

  • frequency_payload (tuple) – 从 Woodwork 的 infer_frequency 函数返回的负载,其中 debug 为 True。默认为 None。

  • window_length (int) – 用于推断以确定不可推断频率普遍性的滚动窗口大小。

  • 5. (较低的值使此组件对识别大量错误的 datetime 值更敏感。默认为) –

  • threshold (float) – 需要能够推断出频率的窗口最小百分比。较低的值使此组件对

  • 0.8. (识别大量错误的 datetime 值更敏感。默认为) –

  • random_seed (int) – 随机数生成器的种子。无论提供的随机种子是什么,此转换器都执行相同的操作。

  • 0. (默认为) –

引发

ValueError – 如果 frequency_payload 参数未传入元组

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

True

name

时间序列规范化器

training_only

True

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合 TimeSeriesRegularizer。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

将数据框和目标数据规范化为可推断的偏移频率。

update_parameters

更新组件的参数字典。

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

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

拟合 TimeSeriesRegularizer。

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

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

返回

self

引发
  • ValueError – 如果 self.time_index 为 None,如果 X 和 y 的长度不同,如果 X 中的 time_index 没有可估计的偏移频率

  • TypeError – 如果 time_index 列不是 Datetime 类型

  • KeyError – 如果 time_index 列不存在

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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 和 y(如果传入了 y),并将与原始 X 和 y 具有匹配 datetime 值的数据插补到干净的 X 和 y 中。识别为错位的 datetime 值将被移到其适当的位置。

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

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

返回

具有可推断 time_index 偏移频率的数据。

返回类型

(pd.DataFrame, pd.Series)

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。

class evalml.pipelines.components.transformers.preprocessing.URLFeaturizer(random_seed=0, **kwargs)[source]#

可以自动从 URL 中提取特征的变换器。

参数

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

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

URL 特征化器

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

将组件拟合到数据。

fit_transform

在 X 上拟合并变换 X。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

save

将组件保存到文件路径。

transform

变换数据 X。

update_parameters

更新组件的参数字典。

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

fit(self, X, y=None)#

将组件拟合到数据。

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

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

返回

self

引发

MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 的 component_obj。

fit_transform(self, X, y=None)#

在 X 上拟合并变换 X。

参数
  • X (pd.DataFrame) – 用于拟合和变换的数据。

  • y (pd.Series) – 目标数据。

返回

变换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

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

变换数据 X。

参数
  • X (pd.DataFrame) – 要变换的数据。

  • y (pd.Series, 可选) – 目标数据。

返回

变换后的 X

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果变换器没有 transform 方法或实现 transform 的 component_obj。

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将设置 _is_fitted 为 False。