time_series_regularizer#

用于时间序列问题中规范化具有无法推断的偏移频率的数据集的转换器。

模块内容#

类总结#

TimeSeriesRegularizer

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

目录#

class evalml.pipelines.components.transformers.preprocessing.time_series_regularizer.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(如果已传递)中的缺失值。

如果用于多系列数据集,则特别适用于未堆叠的数据集。

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

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

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

  • 值越小,此组件对识别大量错误的 datetime 值越敏感。默认为 4。

  • threshold (float) – 需要能够推断出频率的窗口的最小百分比。

  • 值越小,此组件对识别大量错误的 datetime 值越敏感。默认为 0.4。

  • random_seed (int) – 随机数生成器的种子。无论提供何种随机种子,此转换器的性能均相同。

  • 默认为 0。

引发

ValueError – 如果 frequency_payload 参数未传入 tuple

属性

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

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

update_parameters

更新组件的参数字典。

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

拟合 TimeSeriesRegularizer。

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

  • y (pd.Series, optional) – 目标训练数据,长度为 [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 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]#

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

根据可推断的偏移频率创建一个“干净的” X 和 y(如果传入了 y),并将与原始 X 和 y 匹配的 datetime 值填充到干净的 X 和 y 中。识别为未对齐的 datetime 值会移至其适当位置。

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

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

返回

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

返回类型

(pd.DataFrame, pd.Series)

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

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

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