Azure Machine Learning デザイナーでの Python コードの実行

この記事では、Python スクリプトの実行コンポーネントを使用して、Azure Machine Learning デザイナーにカスタム ロジックを追加する方法について説明します。 この攻略ガイドでは、Pandas ライブラリを使用して簡単な特徴エンジニアリングを行います。

組み込みのコード エディターを使用して、簡単な Python ロジックをすばやく追加できます。 より複雑なコードを追加したり、追加の Python ライブラリをアップロードしたりする場合は、ZIP ファイル方式を使用する必要があります。

既定の実行環境では、Python の Anaconda ディストリビューションが使用されます。 プレインストールされているパッケージの完全な一覧については、Execute Python Script コンポーネントのリファレンス ページを参照してください。

Python 実行入力マップ

重要

このドキュメントで言及しているグラフィカル要素 (Studio やデザイナーのボタンなど) が表示されない場合は、そのワークスペースに対する適切なレベルのアクセス許可がない可能性があります。 ご自分の Azure サブスクリプションの管理者に連絡して、適切なレベルのアクセス許可があることを確認してください。 詳細については、「ユーザーとロールを管理する」を参照してください。

デザイナーで記述された Python を実行する

Execute Python Script (Python スクリプトの実行) コンポーネントを追加する

  1. デザイナー パレットで [Execute Python Script](Python スクリプトの実行) コンポーネントを見つけます。 これは、 [Python Language](Python 言語) セクションにあります。

  2. コンポーネントをパイプライン キャンバスにドラッグ アンド ドロップします。

入力データセットの接続

この記事では、Automobile price data (Raw) というサンプル データセットを使用します。

  1. データセットをパイプライン キャンバスにドラッグ アンド ドロップします。

  2. データセットの出力ポートを [Execute Python Script](Python スクリプトの実行) コンポーネントの左上の入力ポートに接続します。 デザイナーは、入力をパラメーターとしてエントリ ポイント スクリプトに公開します。

    右側の入力ポートは、zip 圧縮された Python ライブラリ用に予約されています。

    データセットの接続

  3. 使用する特定の入力ポートに注意してください。 デザイナーによって、左側の入力ポートが変数 dataset1 に、中央の入力ポートが dataset2 に割り当てられます。

Python スクリプトの実行 コンポーネントで直接データの生成やインポートを行えるため、入力コンポーネントは省略可能です。

Python コードの記述

デザイナーには、独自の Python コードを編集および入力するための初期エントリ ポイント スクリプトが用意されています。

この例では、Pandas を使用して、automobile データセットの 2 つの列、PriceHorsepower を結合し、Dollars/Horsepower (ドル/馬力) の新しい列を作成します。 この列は、馬力単位ごとの支払い額を表します。これは、特定の車がその価格に対してお得であるかどうかを判断するのに有用な情報ポイントとなる可能性があります。

  1. [Execute Python Script](Python スクリプトの実行) コンポーネントを選択します。

  2. キャンバスの右側に表示されるペインで、 [Python スクリプト] テキスト ボックスを選択します。

  3. 以下のコードをコピーして、テキスト ボックスに貼り付けます。

    import pandas as pd
    
    def azureml_main(dataframe1 = None, dataframe2 = None):
        dataframe1['Dollar/HP'] = dataframe1.price / dataframe1.horsepower
        return dataframe1
    

    パイプラインは次のイメージのようになっているはずです。

    Python パイプラインの実行

    エントリ ポイント スクリプトには、関数 azureml_main が含まれている必要があります。 関数には 2 つのパラメーターがあり、これらは Python スクリプトの実行コンポーネントの 2 つの入力ポートにマップされます。

    戻り値は、Pandas データフレームである必要があります。 最大 2 つのデータフレームをコンポーネントの出力として返すことができます。

  4. パイプラインを送信します。

これで、新しい Dollars/HP 機能を備えたデータセットが作成されました。 この新機能は、車を推奨する人をトレーニングするのに役立つ可能性があります。 この例では、特徴抽出と次元削減を示しています。

次のステップ

Azure Machine Learning デザイナーに独自のデータ をインポートする方法を確認します。