TimeSeriesTransformer 类

用于时序预处理的类。

继承
TimeSeriesTransformer
TimeSeriesTransformer

构造函数

TimeSeriesTransformer(pipeline: sklearn.pipeline.Pipeline, pipeline_type: azureml.automl.runtime.featurizer.transformer.timeseries.timeseries_transformer.TimeSeriesPipelineType, featurization_config: azureml.automl.core.featurization.featurizationconfig.FeaturizationConfig, time_index_non_holiday_features: List[str], lookback_features_removed: bool, **kwargs: Any)

参数

pipeline
pipeline_type
featurization_config
time_index_non_holiday_features
lookback_features_removed

方法

add_dummy_order_column

将虚拟顺序列添加到 pandas 数据帧。

fit

拟合 TimeSeriesTransformer。

fit_transform

拟合和转换训练方案的数据。

请注意,输出数据帧没有行数据协定。 也就是说,输出的行数和顺序可能不同于输入。

步骤如下:

  1. 拟合转换器:创建内部转换管道
  2. 通用的转换验证和准备
  3. 填充日期/时间间隔并计算缺少的目标值
  4. 调用内部管道的 fit_transform 方法
  5. 通用最终化
  6. 保存转换后的数据中的列顺序
get_auto_lag

返回启发式推断的滞后时间。

如果滞后时间未定义为自动,则返回 None。 如果未调用拟合,则引发 ClientException。 :return:启发式定义的目标滞后时间或 None。 :raises:ClientException

get_auto_max_horizon

返回自动最大范围。

如果最大范围未定义为 auto,则返回 None。 :return:启发式定义的最大范围或 None。 :raises:ClientException

get_auto_window_size

返回自动滚动窗口大小。

如果滚动窗口未定义为 auto,则返回 None。 如果未调用拟合,则引发 ClientException。 :return:启发式定义的滚动窗口大小或 None。 :raises:ClientException

get_col_internal_type

获取特色列的内部类型。 如果是保留列,则返回列名称。 如果是滞后时间/滚动窗口列,则返回转换器类中定义的相应类型。 如果是用户输入列,则返回“other”。

get_engineered_feature_names

获取转换后的列名称。

get_featurization_summary

返回 TimeSeriesTransformer 看到的所有输入特征的特征化摘要。 :param kwargs:

请参阅下文

get_json_strs_for_engineered_feature_names

返回工程特征名称的 JSON 字符串列表。

get_params

获取此估算器的参数。

get_target_lags

返回目标滞后时间(如果有)。

get_target_rolling_window_size

返回滚动窗口的大小。

remove_rows_with_imputed_target
select_latest_origin_dates

从 X 中选择具有时间粒度组中最新源时间的行。

逻辑:按时间对 X 进行分组,粒度 -> 在每个组中查找最新源 -> 返回行,其中包含每个组的最新源。 :p aram time_column_name:数据帧中的时间列名称。 :p aram time_series_id_column_names:时序 ID 列名。 :p aram origin_column_name:源时间列名称。 :return:数据帧,仅包含最新源。

transform

转换评分方案的数据。

此转换有两种不同的行为,具体取决于是否提供了 y 输入 -

如果 y 不是 None,则输出将在 self.target_column_name 列中包含目标数量;这可确保转换的使用者可以检索与转换后的数据相符的目标。 当提供 y 时,该转换还将填充时间索引间隔,并计算缺少的目标值。 此行为通常最适合样本内评分方案。

如果 y 为 None,则输出只是转换后的特征数据帧,不会填充时间索引间隔。 此行为通常最适合样本外评分方案。

在任一情况下,输出都将包含拟合/训练期间确定的列,其顺序与拟合/训练时确定的顺序相同。 请注意,此方法不为输出数据帧的行指定协定。 也就是说,输出的行数和顺序可能不同于输入。

转换步骤包括:

  1. 通用的验证和准备
  2. 删除不符合训练期间确定的频率的行
  3. 如果提供了 y 输入,则追加到输入,填充间隔并计算缺失的目标值
  4. 推断评分数据频率,并检查其是否与训练频率兼容
  5. 调用内部管道的转换方法
  6. 为缺失的目标值添加指示器列
  7. 通用最终化
  8. 还原在训练过程中确定的列顺序

add_dummy_order_column

将虚拟顺序列添加到 pandas 数据帧。

add_dummy_order_column(X: pandas.core.frame.DataFrame) -> None

参数

X
必需

将进行顺序列加法的数据帧。

fit

拟合 TimeSeriesTransformer。

fit(X: pandas.core.frame.DataFrame, y: Optional[numpy.ndarray] = None) -> azureml.automl.runtime.featurizer.transformer.timeseries.timeseries_transformer.TimeSeriesTransformer

参数

df
DataFrame
必需

表示文本、数字或分类输入的数据帧。

y
ndarray
必需

目标数量。

返回

TimeSeriesTransformer

fit_transform

拟合和转换训练方案的数据。

请注意,输出数据帧没有行数据协定。 也就是说,输出的行数和顺序可能不同于输入。

步骤如下:

  1. 拟合转换器:创建内部转换管道
  2. 通用的转换验证和准备
  3. 填充日期/时间间隔并计算缺少的目标值
  4. 调用内部管道的 fit_transform 方法
  5. 通用最终化
  6. 保存转换后的数据中的列顺序
fit_transform(df: pandas.core.frame.DataFrame, y: numpy.ndarray) -> pandas.core.frame.DataFrame

参数

df
DataFrame
必需

表示文本、数字或分类输入的数据帧。

y
ndarray
必需

目标数量。

返回

pandas.DataFrame

get_auto_lag

返回启发式推断的滞后时间。

如果滞后时间未定义为自动,则返回 None。 如果未调用拟合,则引发 ClientException。 :return:启发式定义的目标滞后时间或 None。 :raises:ClientException

get_auto_lag() -> Optional[List[int]]

get_auto_max_horizon

返回自动最大范围。

如果最大范围未定义为 auto,则返回 None。 :return:启发式定义的最大范围或 None。 :raises:ClientException

get_auto_max_horizon() -> Optional[int]

get_auto_window_size

返回自动滚动窗口大小。

如果滚动窗口未定义为 auto,则返回 None。 如果未调用拟合,则引发 ClientException。 :return:启发式定义的滚动窗口大小或 None。 :raises:ClientException

get_auto_window_size() -> Optional[int]

get_col_internal_type

获取特色列的内部类型。 如果是保留列,则返回列名称。 如果是滞后时间/滚动窗口列,则返回转换器类中定义的相应类型。 如果是用户输入列,则返回“other”。

static get_col_internal_type(column_name: str) -> str

参数

column_name
必需

列名称。

返回

如果列由 AutoML SDK 生成,它将返回相应的 SDK 类型。 如果不是,将返回“other”

get_engineered_feature_names

获取转换后的列名称。

get_engineered_feature_names() -> Optional[List[str]]

返回

字符串列表

get_featurization_summary

返回 TimeSeriesTransformer 看到的所有输入特征的特征化摘要。 :param kwargs:

请参阅下文

get_featurization_summary(**kwargs: Any) -> List[Dict[str, Optional[Any]]]

参数

is_user_friendly
<xref:<xref:`bool`>>

如果为 True,则返回单独的转换器参数,否则仅返回详细的特征化摘要。

返回

每个输入特征的特征化摘要列表。

get_json_strs_for_engineered_feature_names

返回工程特征名称的 JSON 字符串列表。

get_json_strs_for_engineered_feature_names(engi_feature_name_list: Optional[List[str]] = None) -> List[str]

参数

engi_feature_name_list
默认值: None

需要 JSON 字符串的工程特征名称

返回

工程特征名称的 JSON 字符串列表

get_params

获取此估算器的参数。

get_params(deep=True)

参数

deep
bool, <xref:default=True>
默认值: True

如果为 True,则返回此估算器的参数和包含的子对象(即估算器)。

返回

params - 映射到其值的参数名称。

返回类型

<xref:<xref:mapping of string to any>>

get_target_lags

返回目标滞后时间(如果有)。

get_target_lags() -> List[int]

get_target_rolling_window_size

返回滚动窗口的大小。

get_target_rolling_window_size() -> int

remove_rows_with_imputed_target

remove_rows_with_imputed_target(X: pandas.core.frame.DataFrame, y: numpy.ndarray) -> Tuple[pandas.core.frame.DataFrame, numpy.ndarray]

参数

X
必需
y
必需

select_latest_origin_dates

从 X 中选择具有时间粒度组中最新源时间的行。

逻辑:按时间对 X 进行分组,粒度 -> 在每个组中查找最新源 -> 返回行,其中包含每个组的最新源。 :p aram time_column_name:数据帧中的时间列名称。 :p aram time_series_id_column_names:时序 ID 列名。 :p aram origin_column_name:源时间列名称。 :return:数据帧,仅包含最新源。

static select_latest_origin_dates(X: pandas.core.frame.DataFrame, time_column_name: str, time_series_id_column_names: List[str], origin_column_name: str) -> pandas.core.frame.DataFrame

参数

X
必需
time_column_name
必需
time_series_id_column_names
必需
origin_column_name
必需

transform

转换评分方案的数据。

此转换有两种不同的行为,具体取决于是否提供了 y 输入 -

如果 y 不是 None,则输出将在 self.target_column_name 列中包含目标数量;这可确保转换的使用者可以检索与转换后的数据相符的目标。 当提供 y 时,该转换还将填充时间索引间隔,并计算缺少的目标值。 此行为通常最适合样本内评分方案。

如果 y 为 None,则输出只是转换后的特征数据帧,不会填充时间索引间隔。 此行为通常最适合样本外评分方案。

在任一情况下,输出都将包含拟合/训练期间确定的列,其顺序与拟合/训练时确定的顺序相同。 请注意,此方法不为输出数据帧的行指定协定。 也就是说,输出的行数和顺序可能不同于输入。

转换步骤包括:

  1. 通用的验证和准备
  2. 删除不符合训练期间确定的频率的行
  3. 如果提供了 y 输入,则追加到输入,填充间隔并计算缺失的目标值
  4. 推断评分数据频率,并检查其是否与训练频率兼容
  5. 调用内部管道的转换方法
  6. 为缺失的目标值添加指示器列
  7. 通用最终化
  8. 还原在训练过程中确定的列顺序
transform(df: pandas.core.frame.DataFrame, y: Optional[numpy.ndarray] = None) -> pandas.core.frame.DataFrame

参数

df
DataFrame
必需

表示文本、数字或分类输入的数据帧。

y
ndarray
必需

目标数量(可选)。

返回

pandas.DataFrame

属性

columns

返回预期列的列表。

返回

列的列表。

返回类型

lookback_features_removed

如果由于内存限制删除了回看功能,则返回 true。

max_horizon

返回最大范围。

parameters

返回重构时序转换器所需的参数

target_imputation_marker_column_name

y_imputers

返回目标列的 imputer。

返回

目标列的 imputer。

返回类型

MISSING_Y

MISSING_Y = 'missing_y'

REMOVE_LAG_LEAD_WARN

REMOVE_LAG_LEAD_WARN = 'The lag-lead operator was removed due to memory limitation.'

REMOVE_ROLLING_WINDOW_WARN

REMOVE_ROLLING_WINDOW_WARN = 'The rolling window operator was removed due to memory limitation.'

SERIES_STATS_DICT

SERIES_STATS_DICT = 'series_stats_dict'