预测数据准备

本文介绍 AutoML 如何为预测训练准备数据,并介绍可配置的数据设置。 可以在 AutoML UI 中的试验设置期间调整这些选项。

有关使用 AutoML API 配置这些设置的信息,请参阅 AutoML Python API 参考

支持的数据特征类型

仅支持以下列出的特征类型。 例如,支持图像。

支持以下特征类型:

  • 数字(ByteTypeShortTypeIntegerTypeLongTypeFloatTypeDoubleType
  • Boolean
  • 字符串(分类文本或英文文本)
  • 时间戳(TimestampTypeDateType
  • ArrayType[Numeric](Databricks Runtime 10.4 LTS ML 及更高版本)
  • DecimalType(Databricks Runtime 11.3 LTS ML 及更高版本)

估算缺失值

在 Databricks Runtime 10.4 LTS ML 和更高版本中,可以指定如何插补 null 值。 在 UI 中,从表架构的“插补”列中的下拉列表内选择一种方法。 在 API 中,使用 imputers 参数。 有关更多信息,请参阅 AutoML Python API 参考

默认情况下,AutoML 会根据列类型和内容选择一种插补方法。

注意

如果你指定了非默认插补方法,则 AutoML 不会执行语义类型检测。

将预测数据拆分为训练、验证和测试集

AutoML 将数据拆分为三个部分,用于训练、验证和测试。

对于预测任务,AutoML 使用时序交叉验证。 此方法以递增方式按时间顺序扩展训练数据集,并在后续时间点执行验证。 交叉验证可对模型在不同时间段的性能进行可靠的评估。 它可确保预测模型对看不见的未来数据进行严格测试,从而保持预测的相关性和准确性。

交叉验证的折叠数量取决于输入表特征,例如时序数、是否存在协变量和时序长度。

时序聚合

对于预测问题,当时间序列中的时间戳有多个值时,AutoML 会使用这些值的平均值。

若要改用总和,请编辑试运行生成的源代码笔记本。 在“聚合数据中...”单元格,将 .agg(y=(target_col, "avg")) 更改为 .agg(y=(target_col, "sum")),如下所示:

group_cols = [time_col] + id_cols
df_aggregation = df_loaded \
  .groupby(group_cols) \
  .agg(y=(target_col, "sum")) \
  .reset_index() \
  .rename(columns={ time_col : "ds" })