你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:专用 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. 生成脚本后,选择 “运行 ”以执行评分并获取预测。

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

后续步骤