使用 Azure Databricks AutoML Python API 训练 ML 模型

本文演示了如何通过 AutoML Python API 训练使用 Azure Databricks AutoML 的模型。 有关更多详细信息,请参阅Azure Databricks AutoML Python API 参考

该 API 提供了用于启动分类、回归和预测 AutoML 运行的函数。 每个函数调用将训练一组模型,并为每个模型生成一个试运行笔记本。

请参阅 AutoML 试验的要求

使用 AutoML API 设置试验

以下步骤概括性地说明了如何使用 API 设置 AutoML 试验:

  1. 创建一个笔记本并将其附加到运行 Databricks Runtime ML 的群集。

  2. 确定要从现有数据源使用哪个表,或者将数据文件上传到 DBFS 并创建表。

  3. 要启动 AutoML 运行,请使用automl.regress()automl.classify()函数并传递表以及任何其他训练参数。 要查看所有函数和参数,请参阅Azure Databricks AutoML Python API 参考

    例如:

    summary = automl.regress(dataset=train_pdf, target_col="col_to_predict")
    
  4. AutoML 运行开始时,控制台中会显示 MLflow 试验 URL。 使用此 URL 监视运行进度。 刷新 MLflow 试验查看已完成的试运行。

  5. AutoML 运行完成后:

  • 使用输出摘要中的链接导航到 MLflow 试验或导航到生成最佳结果的笔记本。
  • 使用数据探索笔记本的链接可以深入了解传递给 AutoML 的数据。 还可以将此笔记本附加到同一群集,然后重新运行它以重现结果或执行其他数据分析。
  • 使用 AutoML 调用返回的摘要对象来探索有关试验的更多详细信息或加载给定试运行训练的模型。 详细了解 AutoMLSummary 对象
  • 克隆试运行生成的任何笔记本,并通过将其附加到同一群集来重新运行该笔记本,以重现结果。 还可以进行必要的编辑,然后重新运行该笔记本以训练其他模型并将其记录到同一个试验中。

导入笔记本

要导入保存为 MLflow 项目的笔记本,请使用databricks.automl.import_notebook Python API。 有关详细信息,请参阅导入笔记本

注册和部署模型

可以注册和部署 AutoML 训练的模型,就像 MLflow 模型注册表中的任何已注册模型一样,详见记录、加载、注册和部署 MLflow 模型

没有名为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 模型提供服务。

Notebook 示例

请查看这些笔记本以开始使用 AutoML。

以下笔记本演示如何使用 AutoML 进行分类。

AutoML 分类示例笔记本

获取笔记本

以下笔记本演示如何使用 AutoML 进行回归。

AutoML 回归示例笔记本

获取笔记本

以下笔记本演示如何使用 AutoML 进行预测。

AutoML 预测示例笔记本

获取笔记本

后续步骤

Azure Databricks AutoML Python API 参考