教學課程:專用 SQL 集區的機器學習模型評分精靈

了解如何使用預測性機器學習模型,輕鬆地擴充專用 SQL 集區中的資料。 您資料科學家所建立的模型現在可輕鬆地供資料專業人員進行預測性分析。 若要在 Azure Synapse SQL 集區部署,Azure Synapse Analytics 中的資料專業人員,可以直接透過 Azure Machine Learning 模型登錄選取模型,並啟動預測擴充資料。

在本教學課程中,您將了解如何:

  • 定型預測式機器學習模型與 Azure Machine Learning 模型登錄的登錄模型。
  • 使用 SQL 評分精靈啟動專用 SQL 集區的預測。

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

必要條件

登入 Azure 入口網站

登入 Azure 入口網站

在 Azure Machine Learning 中將模型定型

開始之前,請確認您的 sklearn 版本是 0.20.3。

執行筆記本中所有的儲存格前,請檢查計算執行個體是否正在執行。

Screenshot that shows verification of Azure Machine Learning compute.

  1. 前往您的 Azure Machine Learning 工作區。

  2. 下載 Predict NYC Taxi Tips.ipynb

  3. Azure Machine Learning Studio 中啟動 Azure Machine Learning 工作區。

  4. 前往筆記本>上傳檔案。 然後選取已下載的預測 NYC 計程車祕訣.ipynb 檔案並上傳。 Screenshot of the button for uploading a file.

  5. 上傳並開啟筆記本後,請選取 [執行所有儲存格]

    其中一個儲存格可能失敗,並要求您驗證 Azure。 儲存格輸出時,請留意這個項目,並依照連結指示輸入密碼。 然後重新執行筆記本。

  6. 筆記本會定型 ONNX 模型,並透過 MLFlow 登錄。 前往模型,檢查新的模型是否正確登錄。 Screenshot that shows the model in the registry.

  7. 執行筆記本也會將測試資料匯出為 CSV 檔案。 將 CSV 檔案下載到您的本機系統。 稍後,專用 SQL 集區會匯入 CSV 檔案,並使用資料測試模型。

    CSV 檔案會建立在與您筆記本檔案相同的資料夾中。 如果您未立即看到檔案,請在 [檔案總管] 選取 [重新整理]

    Screenshot that shows the C S V file.

使用 SQL 評分精靈啟動預測

  1. 使用 Synapse Studio 開啟 Azure Synapse 工作區。

  2. 前往 [資料]>[已連結]>[儲存體帳戶]。 將 test_data.csv 上傳到預設儲存體帳戶。

    Screenshot that shows selections for uploading data.

  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
    

    Load data to dedicated SQL pool

  4. 移至 [資料]>[工作區]。 在專用 SQL 集區資料表上按一下滑鼠右鍵,以開啟 SQL 評分精靈。 選取 [機器學習]>[使用模型預測]

    注意

    除非您建立 Azure Machine Learning 的連結服務,否則不會出現機器學習選項。 (請參閱教學課程開頭的必要條件)

    Screenshot that shows the machine Learning option.

  5. 在下拉式方塊中選取連結的 Azure Machine Learning 工作區。 此步驟會透過所選 Azure Machine Learning 工作區的模型登錄,載入機器學習模型的清單。 目前僅支援 ONNX 模型,因此此步驟只會顯示 ONNX 模型。

  6. 選取您方才定型的模型,然後選取 [繼續]

    Screenshot that shows selecting the Azure Machine Learning model.

  7. 對應資料表資料行至模型輸入,並指定模型輸出。 如果模型以 MLflow 格式儲存,並填入模型簽章,對應會根據名稱的相似度,使用邏輯自動完成對應。 介面也支援手動對應。

    選取繼續

    Screenshot that shows table-to-model mapping.

  8. 產生的 T-SQL 程式碼會包裝在預存程序內。 因此您需要提供預存程序名稱。 包含中繼資料 (版本、描述等資訊) 的模型二進位檔案會從 Azure Machine Learning 實際複製到專用 SQL 集區資料表。 因此,您必須指定要在哪一個資料表中儲存模型。

    您可以選擇現有的資料表建立新的資料表。 完成後,選取 [部署模型 + 開啟指令碼],即可部署模型並產生 T-SQL 預測指令碼。

    Screenshot that shows selections for creating a stored procedure.

  9. 產生指令碼後,請選取 [執行] 執行評分並取得預測。

    Screenshot that shows scoring and predictions.

下一步