教程:专用 SQL 池的机器学习模型评分向导

了解如何使用预测机器学习模型轻松扩充专用 SQL 池中的数据。 数据科学家创建的模型现在可供数据专业人员轻松访问,以便进行预测分析。 Azure Synapse Analytics 中的数据专业人员只需从 Azure 机器学习模型注册表中选择模型即可在 Azure Synapse SQL 池中部署,并启动预测来扩充数据。

本教程介绍以下操作:

  • 训练一个预测性机器学习模型并在 Azure 机器学习模型注册表中注册该模型。
  • 使用 SQL 评分向导在专用 SQL 池中启动预测。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

登录到 Azure 门户

登录到 Azure 门户

在 Azure 机器学习中训练模型

在开始之前,请验证 sklearn 版本是否为 0.20.3。

在笔记本中运行所有单元格之前,请检查计算实例是否正在运行。

显示 Azure 机器学习计算验证的屏幕截图。

  1. 转到你的 Azure 机器学习工作区。

  2. 下载 Predict NYC Taxi Tips.ipynb

  3. Azure 机器学习工作室中打开 Azure 机器学习工作区。

  4. 转到 笔记本>上传文件。 然后选择下载并上传的 Predict NYC Taxi Tips.ipynb 文件。 用于上传文件的按钮的屏幕截图。

  5. 上传并打开笔记本后,选择“ 运行所有单元格”。

    其中一个单元格可能会失败,并要求你向 Azure 进行身份验证。 请在单元格输出中注意此信息,在浏览器中使用以下链接并输入代码进行身份验证。 然后重新运行笔记本。

  6. 笔记本将训练 ONNX 模型并将其注册到 MLflow。 转到 “模型 ”,检查新模型是否已正确注册。 显示注册表中的模型的屏幕截图。

  7. 运行笔记本还将测试数据导出到 CSV 文件中。 将 CSV 文件下载到本地系统。 稍后,你将将 CSV 文件导入专用 SQL 池,并使用数据测试模型。

    CSV 文件是在笔记本文件所在的同一文件夹中创建的。 如果在文件资源管理器中没有立即看到它,请选择刷新

    显示 C S V 文件的屏幕截图。

使用 SQL 评分向导启动预测

  1. 使用 Synapse Studio 打开 Azure Synapse 工作区。

  2. 转到 数据>关联>存储帐户。 将文件上传到 test_data.csv 默认存储帐户。

    显示用于上传数据的选项的屏幕截图。

  3. 转到 “开发>SQL 脚本”。 创建新的 SQL 脚本以加载 test_data.csv 到专用 SQL 池中。

    备注

    在运行此脚本之前,请更新其中的文件 URL。

    IF NOT EXISTS (SELECT * FROM sys.objects WHERE NAME = 'nyc_taxi' AND TYPE = 'U')
    CREATE TABLE dbo.nyc_taxi
    (
        tipped int,
        fareAmount float,
        paymentType int,
        passengerCount int,
        tripDistance float,
        tripTimeSecs bigint,
        pickupTimeBin nvarchar(30)
    )
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    GO
    
    COPY INTO dbo.nyc_taxi
    (tipped 1, fareAmount 2, paymentType 3, passengerCount 4, tripDistance 5, tripTimeSecs 6, pickupTimeBin 7)
    FROM '<URL to linked storage account>/test_data.csv'
    WITH
    (
        FILE_TYPE = 'CSV',
        ROWTERMINATOR='0x0A',
        FIELDQUOTE = '"',
        FIELDTERMINATOR = ',',
        FIRSTROW = 2
    )
    GO
    
    SELECT TOP 100 * FROM nyc_taxi
    GO
    

    将数据加载到专用 SQL 池

  4. 转到 数据>工作区。 右键单击专用 SQL 池表,打开 SQL 评分向导。 选择机器学习>使用模型进行预测

    备注

    除非已为 Azure 机器学习创建链接服务,否则不会显示机器学习选项。 (请参阅本教程开头的 先决条件

    显示机器学习选项的屏幕截图。

  5. 在下拉列表中选择链接的 Azure 机器学习工作区。 此步骤从所选 Azure 机器学习工作区的模型注册表加载机器学习模型列表。 目前仅支持 ONNX 模型,因此此步骤仅显示 ONNX 模型。

  6. 选择刚刚训练的模型,然后选择“ 继续”。

    显示选择 Azure 机器学习模型的屏幕截图。

  7. 将表列映射到模型输入并指定模型输出。 如果模型是以 MLflow 格式保存的并且模型签名已进行填充,则系统会使用基于名称相似性的逻辑为你自动执行映射。 该接口还支持手动映射。

    选择继续

    显示表到模型映射的屏幕截图。

  8. 生成的 T-SQL 代码封装在存储过程内。 这就是为什么需要提供存储过程名称的原因。 模型二进制文件(包括元数据(版本、说明和其他信息)将从 Azure 机器学习物理复制到专用 SQL 池表。 因此,需要指定要在其中保存模型的表。

    可以选择 现有表新建表。 完成后,选择“ 部署模型 + 打开脚本 ”以部署模型并生成 T-SQL 预测脚本。

    显示用于创建存储过程的选择的屏幕截图。

  9. 生成脚本后,选择 “运行 ”以执行评分并获取预测。

    显示评分和预测的屏幕截图。

后续步骤