如何在 Vertex AI AutoML 时间序列模型中选择目标列
Posted
技术标签:
【中文标题】如何在 Vertex AI AutoML 时间序列模型中选择目标列【英文标题】:How to select a target column in a Vertex AI AutoML time series model 【发布时间】:2021-09-08 21:24:52 【问题描述】:我正在使用时间序列 AutoML 模型测试 Google Cloud Vertex AI。
我从 Biguery 表中创建了一个数据集,其中包含 2 列,其中一列是时间戳,另一列是我想要预测的数值:
salesorderdate
是我的TIMESTAMP
列,orders
是我要预测的值。
当我继续下一步时,我无法选择 orders
作为我要预测的值,此字段没有可用选项:
我在这里缺少什么?在这种情况下,时间序列值肯定是是的目标值吗?这里是否有更多字段的期望,是否可以通过这种方式将额外的特征作为列添加到时间序列模型中?
【问题讨论】:
【参考方案1】:我从您的问题中猜想您正在使用“预测模型”。请注意,它在“预览版”Product launch stage 中,所有后果均由该事实引起。
在文档中,您可以找到Training data structure 以下信息:
必须至少有两列且不超过 1,000 列。对于训练 AutoML 模型的数据集,一列必须是目标, 并且必须至少有一个特征可用于训练模型。 如果训练数据不包含目标列,Vertex AI 无法将训练数据与所需结果相关联。
我想你正在使用 AutoML 模型,所以在这种情况下,你需要在数据集中有 3 列:
时间列 - 用于按时间放置由该行表示的观察结果 时间序列标识符列为“预测训练数据通常包含多个时间序列” 目标列是模型应该学习预测的值。如果你想预测 orders
这应该是目标列。但在您选择此目标之前,此“时间序列标识符列”已在上一步中选择,因此您没有可用的列可供选择。
因此,您需要向 BigQuery 表中添加至少一个额外的列,该列将用作时间序列列。您可以在每行中添加具有相同值的数据集列。这个概念在Forecasting data preparation best practices中提出:
您可以在单个时间序列上训练预测模型(在其他时间序列中) 换句话说,时间序列标识符列包含相同的值 所有行)。然而,Vertex AI 更适合训练数据 包含两个或多个时间序列。为获得最佳效果,您应该在 用于训练模型的每一列至少有 10 个时间序列。
【讨论】:
我目前有date
和orders
- 我不明白他们需要的字段应该是什么?
@BenP 我已编辑。现在应该很清楚了。【参考方案2】:
根据 AutoML,目标列不能为空。
目标列的要求
目标列必须符合以下要求:
它必须是分类的或数值的。 如果是 Categorical,则必须至少有 2 个且不超过 500 个不同的值。 不能为空
【讨论】:
以上是关于如何在 Vertex AI AutoML 时间序列模型中选择目标列的主要内容,如果未能解决你的问题,请参考以下文章
Google Vertex AI AutoML - 无法为 CSV 数据集指定架构
将 Google 的 Tensorboard 连接到 Vertex AI AutoML