TimeIndexFeaturizer 类

用于计算(主要是分类)特征的转换类。

这旨在用作预测管道内的特征化步骤。

此转换返回一个新的 TimeSeriesDataSet,其中包含所有原始列,外加 18 个具有基于日期/时间特征的列。 创建了以下特征:

  • year - 日历年
  • year_iso - ISO 年份,详情见后文
  • half - 半年,如果日期在 7 月 1 日之前为 1,否则为 2
  • quarter - 日历季,1 到 4
  • month - 日历月,1 到 12
  • month_lbl - 字符串形式的日历月,“一月”到“十二月”
  • day - 一个月中的日历日,1 到 31
  • hour - 一天中的小时,0 到 23
  • minute - 一天中的分钟,0 到 59
  • second - 一天中的秒,0 到 59
  • am_pm - 如果时间在中午(中午 12 点)之前,为 0;否则为 1
  • am_pm_lbl - 如果时间在中午(中午 12 点)之前,为“上午”;否则为“下午”
  • hour12 - 每天 12 小时,不分上午/下午时段
  • wday - 一周的某一日,0(星期一)到 6(星期日)
  • wday_lbl - 以字符串形式表示星期几
  • qday - 一季的某一日,1 到 92
  • yday - 一年的某一日,1 到 366
  • week - ISO 周,有关详细信息,请参阅下文

ISO 年和周在 ISO 8601 中定义,有关详细信息,请参阅 Wikipedia.ISO。 简而言之,ISO 周始终从星期一开始,持续 7 天。 ISO 年从一年中头一个有星期二的那一周开始算。 这意味着,如果 1 月 1 日是星期五,ISO 年将仅从 1 月 4 日开始。 因此,ISO 年可能不同于日历年。

继承
TimeIndexFeaturizer

构造函数

TimeIndexFeaturizer(overwrite_columns=False, prune_features=True, correlation_cutoff=0.99, country_or_region=None, force_feature_list=None, freq=None, datetime_columns=None, holiday_start_time=None, holiday_end_time=None)

参数

overwrite_columns
bool
默认值: False

一个标志,它允许进行转换,以覆盖输入 TimeSeriesDataSet 中已存在的特征的现有列。 如果为 True,则输出警告并覆盖列。 如果为 False,则引发 RuntimeError。 默认值为 False,以保护用户数据。 将创建的列的完整列表存储在 time_index_feature_names_full 属性中。

prune_features
bool
默认值: True

调用方法来删除明显无用的特征的标志。 采用以下删除策略:

  1. 放弃所有“字符串”特征,例如 month_lbl

  2. 如果输入 TimeSeriesDataSet 的时间索引只有日期,并且

    没有时间组件,将删除所有小时/分钟/等特征。

  3. 任何方差为零的特征都将被删除。

  4. 最后,为所有剩余特征

    构建相关矩阵。 在每一对特征之间的交叉关联绝对值超过 correlation_cutoff 时,就会丢弃其中一个特征。 例如季度时序数据的一年的某一季度和一年的某一月 - 这两个特征完全相关。

correlation_cutoff
float
默认值: 0.99

如果 prune_featuresTrue,则 abs(correlation)correlation_cutoff 或更高的特征将被丢弃。 例如,对于季度时序,可以构造一年的某一季度和一年的某一月,但它们是完全相关的。 仅会保留其中一个特征。 请注意,correlation_cutoff 必须介于 0 和 1 之间,相关符号将被丢弃。 不计算与目标的相关性以避免过度拟合和目标泄漏。 默认值为 0.99,会保留大多数特征,值越低便会越积极地删除特征。

force_feature_list
list
默认值: None

要创建的时间索引特征列表。 必须是完整特征列表的子集。 如果指定了 force_feature_list,则会忽略 prune_features 和 correlation_cutoff 设置。

force_feature_list
默认值: None
freq
默认值: None
datetime_columns
默认值: None
holiday_start_time
默认值: None
holiday_end_time
默认值: None

方法

fit

拟合转换。

确定应删除哪些特征(如果有)。

fit_transform

按顺序应用拟合和转换方法。

确定应删除哪些特征(如果有)。

get_params

获取此估算器的参数。

preview_datetime_column_featured_names

获取在其他日期/时间列(不是时间索引)上生成的时间特征名称。

preview_non_holiday_feature_names

获取转换应用于 X 时生成的非节假日时间特征名称。

preview_time_feature_names

获取转换应用于 X 时生成的时间特征名称。

transform

为输入数据帧创建时间索引特征。

fit

拟合转换。

确定应删除哪些特征(如果有)。

fit(X: azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet, y: Optional[numpy.ndarray] = None) -> azureml.automl.runtime.featurizer.transformer.timeseries.time_index_featurizer.TimeIndexFeaturizer

参数

X
<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>
必需

输入数据

y
必需

传递给 sklearn 转换器拟合

返回

拟合转换

返回类型

fit_transform

按顺序应用拟合和转换方法。

确定应删除哪些特征(如果有)。

fit_transform(X: azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet, y: Optional[numpy.ndarray] = None) -> azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet

参数

X
<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>
必需

输入数据

y
必需

传递给 sklearn 转换器拟合

返回

具有时间索引特征的数据帧

返回类型

<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>

get_params

获取此估算器的参数。

get_params(deep=True)

参数

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

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

返回

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

返回类型

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

获取在其他日期/时间列(不是时间索引)上生成的时间特征名称。

preview_datetime_column_featured_names() -> List[str]

返回

时间特征名称

返回类型

preview_non_holiday_feature_names

获取转换应用于 X 时生成的非节假日时间特征名称。

preview_non_holiday_feature_names(X: azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet) -> List[str]

参数

X
<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>
必需

输入数据

返回

时间特征名称

返回类型

preview_time_feature_names

获取转换应用于 X 时生成的时间特征名称。

preview_time_feature_names(X: azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet) -> List[str]

参数

X
<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>
必需

输入数据

返回

时间特征名称

返回类型

transform

为输入数据帧创建时间索引特征。

transform(X: azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet) -> azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet

参数

X
<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>
必需

输入数据

返回

具有时间索引特征的数据帧

返回类型

<xref:azureml.automl.runtime._time_series_data_set.TimeSeriesDataSet>

属性

FEATURE_COLUMN_NAMES

可以通过此转换创建的完整新特征列集。

correlation_cutoff

请参阅 correlation_cutoff 参数。

feature_name_mapper

force_feature_list

要创建的特征列的显式列表,而不考虑删除设置。

holiday_column_name

overwrite_columns

请参阅 overwrite_columns 参数。

paid_timeoff_column_name

prune_features

请参阅 prune_features 参数。

time_index_feature_names_full