Imagen

VantageのデータをAzure Machine Learning Studioで使用する方法

概要

Azure Machine Learning (ML) Studioは、データに対する予測分析ソリューションの構築、テスト、およびデプロイに使用できる、ドラッグ&ドロップ可能なコラボレーションツールです。ML Studioは、Azure Blob Storageからデータを取得することができます。このスタートガイドでは、ML Studio に組み込まれた Jupter Notebook 機能を使用して Teradata Vantage データセットを Blob Storage にコピーする方法を説明します。このデータは、ML Studio で機械学習モデルを構築、学習し、本番環境にデプロイするために使用することができます。

Image

前提条件

手順

初期設定

  • 現在利用可能な格納場所にストレージ アカウントがあり、このスタート ガイドの Web service planDEVTEST Standard を選択していない限り、ML Studio ワークスペースの作成中に、新規のストレージ アカウントを作成する必要がある場合があります。 Azure ポータル にログオンし、ストレージ アカウントを開き、 コンテナ がまだ存在しない場合は作成します。

    Image

  • ストレージアカウント名キー をメモ帳にコピーし、Python3 NotebookでAzure Blob Storageアカウントにアクセスするために使用します。

    Image

  • 最後に、Configuration プロパティを開き、'Secure transfer required'Disabled に設定して、ML Studioインポートデータモジュールがブロブストレージアカウントにアクセスできるようにする。

    Image

データのロード

ML Studioにデータを取り込むために、まずはTeradata VantageからAzure Blob Storageにデータをロードする必要があります。ML Jupyter Notebookを作成し、Teradataに接続するためのPythonパッケージをインストールし、Azure Blob Storageにデータを保存することにします。

https://portal.azure.com/[Azure ポータル] にログオンし、 *ML Studioワークスペース* に移動して、 https://studio.azureml.net/[Machine Learning Studio を起動] し 、 *サインイン*します。
  1. 以下の画面が表示されます。 Notebooks をクリックして、正しいリージョン/ワークスペースにいることを確認し、Notebook の New

    をクリックします。Image

  2. Python3 を選択し、Notebook インスタンスに 名前を付け ます。

    Image

  3. Jupyter Notebook インスタンスに、 Teradata Vantage Python package for Advanced Analytics をインストールします。

    pip install teradataml
    Microsoft Azure ML StudioとTeradata Vantage Pythonパッケージの間の検証は行われていません。
  4. Microsoft Azure Storage Blob Client Library for Python をインストールします。

    !pip install azure-storage-blob
  5. 以下のライブラリをインポートしてください。

    import teradataml as tdml
    from teradataml import create_context, get_context, remove_context
    from teradataml.dataframe.dataframe import DataFrame
    import pandas as pd
    from azure.storage.blob import (BlockBlobService)
  6. 以下のコマンドを使用して Teradata に接続します。

    create_context(host = '<hostname>', username = '<database user name>', password = '<password>')
  7. Teradata Python DataFrameモジュールを使用してデータを取得します。

    train_data = DataFrame.from_table("<table_name>")
  8. Teradata DataFrameをPanda DataFrameに変換します。

    trainDF = train_data.to_pandas()
  9. データをCSVに変換します。

    trainDF = trainDF.to_csv(head=True,index=False)
  10. Azue Blob Storage アカウント名、キー、コンテナ名の変数を割り当てます。

    accountName="<account_name>"
    accountKey="<account_key>"
    containerName="mldata"
  11. Azure Blob Storageにファイルをアップロードします。

    blobService = BlockBlobService(account_name=accountName, account_key=accountKey)
    blobService.create_blob_from_text(containerNAme, 'vTargetMail.csv', trainDF)
  12. Azure ポータル にログオンし、BLOB ストレージ アカウントを開いて、アップロードされたファイルを表示します。

    Image

モデルの学習

既存の Azure Machine Learning を使用したデータの分析 の記事を使って、Azure Blob Storageのデータに基づいて予測型機械学習モデルを構築します。顧客が自転車を購入する可能性があるかどうかを予測することで、自転車店であるアドベンチャーワークスのためのターゲットマーケティングキャンペーンを構築する予定です。

データのインポート

データは、上のセクションでコピーした vTargetMail.csv という Azure Blob Storage ファイルにあります。

1.. Azure Machine Learning Studio にサインインし、 Experiments をクリックします。 2.. 画面左下の +NEW をクリックし、 Blank Experiment を選択します。 3.. 実験の名前として「Targeted Marketing」を入力します。 4.. Data Input and output の下にある Import data モジュールをモジュール ペインからキャンバスにドラッグします。 5.. [プロパティ] ペインで Azure Blob Storage の詳細 (アカウント名、キー、コンテナ名) を指定します。

experimentキャンバスの下にある Run をクリックして、実験を実行します。

Image

実験が正常に終了したら、Import Data モジュールの下部にある出力ポートをクリックし、 Visualize を選択してインポートしたデータを確認します。

Image

データのクリーンアップ

データをクリーンアップするには、モデルに関連しないいくつかの列を削除する。次を実行します。

  1. Data Transformation < Manipulation の下にある*Select Columns in Dataset*モジュールをキャンバスにドラッグします。このモジュールを*Import Data*モジュールに接続します。

  2. プロパティペインの*Launch column selector*をクリックして、ドロップする列を指定します。

    Image 3.*CustomerAlternateKey*と*GeographyKey*の2 つのカラムを除外します。

    Image

モデルの構築

80%は機械学習モデルの学習用、20%はモデルのテスト用としてデータを80対20に分割します。この2値分類問題には、「Two-Class」アルゴリズムを使用します。

  1. SplitData モジュールをキャンバスにドラッグし、「Select Columns in DataSet」で接続します。

  2. プロパティペインで「Fraction of rows in the first output dataset」に「0.8」を入力します。

    Image

  3. Two-Class Boosted Decision Tree モジュールを検索し、キャンバスにドラッグします。

  4. Train Model モジュールを検索してキャンバスにドラッグし、Two-Class Boosted Decision Tree (MLアルゴリズム)モジュールと Split Data (アルゴリズムをトレーニングするためのデータ)モジュールに接続して入力を指定する。

    Image

  5. 次に、[プロパティ]ペインで Launch column selector をクリックします。予測するカラムとして BikeBuyer カラムを選択します。

    Image

モデルの評価

次に、このモデルがテストデータでどのように動作するかをテストします。選択したアルゴリズムと異なるアルゴリズムを比較し、どちらがより良いパフォーマンスを示すかを確認します。

  1. Score Model モジュールをキャンバスにドラッグし、 Train ModelSplit Data モジュールに接続します。

    Image

  2. Two-Class Bayes Point Machine を検索し、実験キャンバスにドラッグします。このアルゴリズムが、Two-Class Boosted Decision Treeと比較して、どのようなパフォーマンスを示すかを比較します。

  3. Train Model 」と「Score Model」モジュールをコピーして、キャンバスに貼り付けます。

  4. Evaluate Model モジュールを検索して、キャンバスにドラッグし、2つのアルゴリズムを比較します。

  5. 実行 実験します。

    Image

  6. Evaluate Model モジュールの下部にある出力ポートをクリックし、Visualize をクリックします。

    Image

提供される指標は、ROC曲線、精度-再現性ダイアグラム、リフトカーブです。これらの指標を見ると、最初のモデルが2番目のモデルよりも良い性能を発揮していることがわかります。最初のモデルが何を予測したかを見るには、スコア モデルの出力ポートをクリックし、可視化をクリックします。

Image

テストデータセットに2つの列が追加されているのがわかります。 1. スコアリングされた確率:顧客がバイクの購入者である可能性。 2. スコアされたラベル:モデルによって行われた分類 - 自転車の購入者(1)またはそうでない(0)。このラベリングのための確率の閾値は50%に設定されており、調整することが可能です。

BikeBuyer列(実際)とScored Labels列(予測)を比較すると、モデルがどの程度うまく機能したかが分かります。次のステップとして、このモデルを使用して新規顧客の予測を行い、このモデルをWebサービスとして公開したり、SQL Data Warehouseに結果を書き戻したりすることが可能です。

さらに詳しく

  • 予測型機械学習モデルの構築の詳細については、 Introduction to Machine Learning on Azureを参照してください。

  • 大規模なデータセットのコピーには、Teradata Parallel Transporterのロード/アンロード オペレーターとAzure Blob Storageの間のインターフェイスである Teradata Access Module for Azure の利用を検討してください。

ご質問がある場合、またはさらにサポートが必要な場合は、コミュニティ フォーラムにアクセスしてサポートを受け、他のコミュニティ メンバーと交流してください。
このページは役に立ちましたか?