使用 AutoML 进行预测

使用 AutoML 自动查找最佳预测算法和超参数配置,以基于时序数据预测值。

时序预测仅适用于 Databricks Runtime 10.0 ML 或更高版本。

使用 UI 设置预测试验

可以按照以下步骤使用 AutoML UI 设置预测问题:

  1. 在边栏中,选择“ 试验”。
  2. 在预测卡中,选择“开始训练”。

配置 AutoML 试验

  1. 此时会显示“配置 AutoML 试验”页。 在此页上,指定数据集、问题类型、要预测的目标或标签列、要用于评估试验运行并为其评分的指标,以及停止条件,来配置 AutoML 过程。

  2. 在“计算”字段中,选择一个运行 Databricks Runtime 10.0 ML 或更高版本的群集。

  3. 在“数据集”下,单击“浏览”。 导航到要使用的表,然后单击“选择”。 此时会显示表架构。

  4. 单击“预测目标”字段。 此时会显示一个下拉菜单,其中列出了架构中显示的列。 选择希望模型预测的列。

  5. 单击“时间列”字段。 将显示一个下拉列表,其中显示类型为 timestampdate 的数据集列。 选择包含时序时间段的列。

  6. 对于多序列预测,请从“时序标识符”下拉列表中选择标识单个时序的列。 AutoML 按这些列将数据分组为不同的时序,并单独训练每个序列的模型。 如果将此字段留空,AutoML 会假定数据集包含单个时序。

  7. 在“预测范围和频率”字段中,指定 AutoML 应计算预测值的未来时间段数。 在左侧框中,输入要预测的时间段整数。 在右侧框中,选择单位。

    注意

    要使用 Auto-ARIMA,时序必须具有固定频率(其中任意两点之间的间隔必须在整个时序中相同)。 频率必须与 API 调用或 AutoML UI 中指定的频率单元匹配。 AutoML 通过用前一个值填充这些值,以此来处理丢失的时间步长。

  8. 在 Databricks Runtime 11.3 LTS ML 及更高版本中,可以保存预测结果。 为此,请在“输出数据库”字段中指定一个数据库。 单击“浏览”并从对话框中选择数据库。 AutoML 会将预测结果写入此数据库中的表。

  9. “试验名称”字段显示默认名称。 若要更改该名称,请在字段中键入新名称。

你还可以:

高级配置

打开“高级配置 (可选)”部分以访问这些参数。

  • 评估指标是用来为运行评分的主要指标
  • 在 Databricks Runtime 10.4 LTS ML 及更高版本中,可将训练框架排除在考虑范围之外。 默认情况下,AutoML 使用 AutoML 算法下列出的框架训练模型。
  • 你可以编辑停止条件。 默认停止条件为:
    • 对于预测实验,请在 120 分钟后停止。
    • 在 Databricks Runtime 10.4 LTS ML 及更低版本中,对于分类和回归试验,请在 60 分钟或完成 200 次试验后停止,以较早发生者为准。 对于 Databricks Runtime 11.0 ML 及更高版本,试验次数不会用作停止条件。
    • 在 Databricks Runtime 10.4 LTS ML 及更高版本中,对于分类和回归试验,AutoML 合并了提前停止;如果验证指标不再有改善,它将停止训练和优化模型。
  • 在 Databricks Runtime 10.4 LTS ML 及更高版本中,可以选择按 time column 时间顺序拆分用于训练、验证和测试的数据(仅适用于 分类回归)。
  • Databricks 建议不要填充“数据目录”字段。 这样做会触发默认行为,将数据集安全地存储为 MLflow 项目。 可指定 DBFS 路径,但在这种情况下,数据集不会继承 AutoML 试验的访问权限。

运行实验并监视结果

若要启动 AutoML 试验,请单击“启动 AutoML”。 试验随即开始运行,此时会显示 AutoML 训练页。 若要刷新运行表,请单击刷新按钮

查看试验进度

在此页中,可以:

  • 随时停止试验。
  • 打开数据探索笔记本。
  • 监视运行。
  • 导航到任一运行的运行页。

对于 Databricks Runtime 10.1 ML 和更高版本,AutoML 会显示有关数据集潜在问题的警告,例如不支持的列类型或高基数列。

注意

Databricks 会尽力指出潜在的错误或问题。 但是,这可能并不全面,并且可能无法捕获可能正在搜索的问题或错误。

要查看数据集的任何警告,请点击训练页或试验页(试验完成后)上的“警告”选项卡

AutoML 警告

查看结果

试验完成后,可以:

  • 使用 MLflow 注册和部署某个模型。
  • 选择“查看最佳模型的笔记本”以查看和编辑创建了最佳模型的笔记本。
  • 选择“查看数据探索笔记本”打开数据探索笔记本。
  • 搜索、筛选运行表中的运行以及对其进行排序。
  • 查看任一运行的详细信息:
    • 可以通过单击 MLflow 运行找到包含源代码的已生成笔记本进行试运行。 笔记本保存在运行页的“项目”部分。 如果工作区管理员启用了下载项目的功能,则可以下载此笔记本并将其导入工作区。
    • 要查看运行结果,请点击“模型”列或“开始时间”列。 此时将出现运行页,其中显示了有关试运行的信息(例如参数、指标和标记)和该运行创建的项目(包括模型)。 此页面还包含可用于对模型进行预测的代码片段。

以后若要返回到此 AutoML 试验,可在“试验”页上的表中找到它。 每个 AutoML 实验的结果(包括数据探索和训练笔记本)都存储在运行实验的用户的主文件夹中的一个 databricks_automl 文件夹中。

注册和部署模型

可以使用 AutoML UI 注册和部署模型:

  1. 选择要注册的模型的“模型”列中的链接。 运行完成后,最佳模型(基于主要指标)将显示在最前面的行中。
  2. 选择“注册模型”按钮以在模型注册表中注册该模型。
  3. 选择边栏中的“模型”导航到“模型注册表”模型图标
  4. 在模型表中选择你的模型名称。
  5. 在已注册模型页中,可以使用模型服务为模型提供服务。

没有名为“pandas.core.indexes.numeric”的模块

通过模型服务为使用 AutoML 生成的模型提供服务时,可能会收到错误:No module named 'pandas.core.indexes.numeric

这是由于 AutoML 和模型服务终结点环境之间的 pandas 版本是不兼容的版本。 可以通过运行 add-pandas-dependency.py 脚本解决此错误。 该脚本会为你记录的模型编辑 requirements.txtconda.yaml,以包含适当的 pandas 依赖项版本:pandas==1.5.3

  1. 修改脚本以包含记录模型时所在的 MLflow 运行的 run_id
  2. 将模型重新注册到 MLflow 模型注册表。
  3. 尝试为新版 MLflow 模型提供服务。

后续步骤