次の方法で共有


チュートリアル: 専用 SQL プール用の機械学習モデル スコアリング ウィザード

予測機械学習モデルを使用して、専用 SQL プール内のデータを簡単に強化する方法について説明します。 データ サイエンティストが作成するモデルに、予測分析のためにデータプロフェッショナルが簡単にアクセスできるようになりました。 Azure Synapse Analytics のデータプロフェッショナルは、Azure Synapse SQL プールへのデプロイ用に Azure Machine Learning モデル レジストリからモデルを選択し、予測を起動してデータを強化できます。

このチュートリアルで学習する内容は次のとおりです。

  • 予測機械学習モデルをトレーニングし、モデルを Azure Machine Learning モデル レジストリに登録する。
  • SQL スコアリング ウィザードを使用して、専用 SQL プールで予測を開始する。

Azure サブスクリプションをお持ちでない場合は、 開始する前に無料アカウントを作成してください。

[前提条件]

Azure portal にサインインする

Azure portal にサインインします。

Azure Machine Learning でモデルをトレーニングする

開始する前に、sklearn のバージョンが 0.20.3 であることを確認します。

ノートブック内のすべてのセルを実行する前に、コンピューティング インスタンスが実行されていることを確認します。

Azure Machine Learning コンピューティングの検証を示すスクリーンショット。

  1. Azure Machine Learning ワークスペースに移動します。

  2. Predict NYC Taxi Tips.ipynb をダウンロードします。

  3. Azure Machine Learning Studio で Azure Machine Learning ワークスペースを開きます。

  4. Notebooks>ファイルをアップロードを開く。 次に、ダウンロードした 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. Data>リンクされた>ストレージ アカウントに移動します。 test_data.csvを既定のストレージ アカウントにアップロードします。

    データをアップロードするための選択を示すスクリーンショット。

  3. 開発>SQL スクリプトに移動しますtest_data.csvを専用 SQL プールに読み込む新しい 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. Data>Workspace に移動します。 専用 SQL プール テーブルを右クリックして、SQL スコアリング ウィザードを開きます。 モデルを使用して機械学習>の予測を選択します。

    Azure Machine Learning 用にリンクされたサービスが作成されていない限り、機械学習オプションは表示されません。 (このチュートリアルの冒頭の 前提条件 を参照してください)。

    Machine Learning オプションを示すスクリーンショット。

  5. リンクされた Azure Machine Learning ワークスペースをドロップダウン ボックスで選択します。 この手順では、選択した Azure Machine Learning ワークスペースのモデル レジストリから機械学習モデルの一覧を読み込みます。 現在、ONNX モデルのみがサポートされているため、この手順では ONNX モデルのみが表示されます。

  6. トレーニングしたモデルを選択し、[ 続行] を選択します。

    Azure Machine Learning モデルの選択を示すスクリーンショット。

  7. テーブル列をモデル入力にマップし、モデルの出力を指定します。 モデルが MLflow 形式で保存され、モデル署名が設定されている場合、名前の類似性に基づくロジックを使用して、マッピングが自動的に行われます。 このインターフェイスでは、手動マッピングもサポートされています。

    続行を選択します。

    テーブルからモデルへのマッピングを示すスクリーンショット。

  8. 生成された T-SQL コードは、ストアド プロシージャ内でラップされます。 このため、ストアド プロシージャ名を指定する必要があります。 メタデータ (バージョン、説明、およびその他の情報) を含むモデル バイナリは、Azure Machine Learning から専用 SQL プール テーブルに物理的にコピーされます。 そのため、モデルを保存するテーブルを指定する必要があります。

    [既存のテーブル] または [新規作成] を選択できます。 完了したら、[ Deploy model + open script]\(モデルのデプロイと開くスクリプト \) を選択してモデルをデプロイし、T-SQL 予測スクリプトを生成します。

    ストアド プロシージャを作成するための選択を示すスクリーンショット。

  9. スクリプトが生成されたら、[ 実行 ] を選択してスコア付けを実行し、予測を取得します。

    スコアリングと予測を示すスクリーンショット。

次のステップ