预测数据准备
本文介绍 AutoML 如何准备用于预测训练的数据,并介绍可配置的数据设置。 可以在 AutoML UI 中的试验设置期间调整这些选项。
有关使用 AutoML API 配置这些设置的信息,请参阅 AutoML Python API 参考。
支持的数据特征类型
仅支持下面列出的功能类型。 例如,不支持图像。
支持以下特征类型:
- 数字(
ByteType
、ShortType
、IntegerType
、LongType
、FloatType
和DoubleType
) - Boolean
- 字符串(分类文本或英文文本)
- 时间戳(
TimestampType
、DateType
) - 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"))
,如下所示:
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" })