

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SageMaker Canvas でデータ準備を自動化する
<a name="canvas-data-export"></a>

データフローでデータを変換した後は、変換を機械学習ワークフローにエクスポートできます。変換をエクスポートすると、SageMaker Canvas によって Jupyter Notebook が作成されます。Amazon SageMaker Studio Classic 内でノートブックを実行する必要があります。Studio Classic の開始方法については、管理者にお問い合わせください。

## Pipelines を使用してデータ準備を自動化する
<a name="canvas-data-export-pipelines"></a>

大規模な機械学習 (ML) ワークフローを構築してデプロイする場合、Pipelines を使用して、SageMaker AI ジョブを管理およびデプロイするワークフローを作成できます。Pipelines を使用すると、SageMaker AI のデータ準備ジョブ、モデルトレーニングジョブ、モデルのデプロイジョブを管理するワークフローを構築できます。Pipelines を使用すると、SageMaker AI が提供するファーストパーティーアルゴリズムを利用できます。Pipelines の詳細については、「[SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html)」を参照してください。

データフローから Pipelines に 1 つ以上のステップをエクスポートすると、Data Wrangler によって、パイプラインの定義、インスタンス化、実行、管理に使用できる Jupyter Notebook が作成されます。

### Jupyter Notebook を使用してパイプラインを作成する
<a name="canvas-pipelines-notebook"></a>

以下の手順を使用して Jupyter Notebook を作成し、Data Wrangler フローを Pipelines にエクスポートします。

以下の手順で Jupyter Notebook を生成して実行し、Data Wrangler フローを Pipelines にエクスポートします。

1. エクスポートするノードの横にある **[\+]** を選択します。

1. **[データフローをエクスポート]** を選択します。

1. **[Pipelines (Jupyter Notebook 経由)]** を選択します。

1. Jupyter Notebook をダウンロードするか、Amazon S3 の場所にコピーします。Studio Classic 内でアクセスできる Amazon S3 の場所にコピーすることをお勧めします。適切な場所に関するガイダンスが必要な場合は、管理者にお問い合わせください。

1. Jupyter Notebook を実行します。

Data Wrangler が生成する Jupyter Notebook を使用して、パイプラインを定義できます。パイプラインには、Data Wrangler フローで定義されるデータ処理ステップが含まれています。

ノートブックの次のコードで `steps` リストにステップを追加すると、パイプラインにステップを追加できます。

```
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[instance_type, instance_count],
    steps=[step_process], #Add more steps to this list to run in your Pipeline
)
```

パイプラインの定義の詳細については、「[ SageMaker AI パイプラインを定義する](https://docs.aws.amazon.com/sagemaker/latest/dg/define-pipeline.html)」を参照してください。

## 推論エンドポイントを使用してデータ準備を自動化する
<a name="canvas-data-export-inference"></a>

Data Wrangler フローを使用して、Data Wrangler フローから SageMaker AI シリアル推論パイプラインを作成し、推論時にデータを処理します。推論パイプラインは、トレーニングを受けたモデルに新しいデータを予測させる一連のステップです。Data Wrangler 内のシリアル推論パイプラインが Raw データを変換し、機械学習モデルに提供して予測を行います。Studio Classic 内の Jupyter Notebook から推論パイプラインを作成、実行、管理します。ノートブックへのアクセスの詳細については、「[Jupyter Notebook を使用して推論エンドポイントを作成する](#canvas-inference-notebook)」を参照してください。

ノートブック内では、機械学習モデルをトレーニングすることも、既にトレーニングしたモデルを指定することもできます。Amazon SageMaker Autopilot または XGBoost を使用して、Data Wrangler フローで変換したデータを使用してモデルをトレーニングできます。

パイプラインでは、バッチ推論またはリアルタイム推論のいずれかを実行できます。Data Wrangler フローを SageMaker モデルレジストリに追加することもできます。モデルのホスティングの詳細については、「[マルチモデルエンドポイント](multi-model-endpoints.md)」を参照してください。

**重要**  
Data Wrangler フローに以下の変換がある場合、推論エンドポイントにエクスポートすることはできません。  
結合
連結
グループ化
データを準備するために前述の変換を使用する必要がある場合は、次の手順を使用します。  
Data Wrangler フローを作成します。
サポートされていない前述の変換を適用します。
データを Amazon S3 バケットにエクスポートします。
別の Data Wrangler フローを作成します。
前のフローからエクスポートしたデータをインポートします。
残りの変換を適用します。
当社が提供する Jupyter Notebook を使用してシリアル推論パイプラインを作成します。
データを Amazon S3 バケットにエクスポートする方法については、「[データのエクスポート](canvas-export-data.md)」を参照してください。シリアル推論パイプラインの作成に使用した Jupyter Notebook を開く方法については、「[Jupyter Notebook を使用して推論エンドポイントを作成する](#canvas-inference-notebook)」を参照してください。

Data Wrangler は、推論時にデータを削除する変換を無視します。例えば、Data Wrangler は **[欠落をドロップ]** 設定を使用すると [欠落した値を処理する](canvas-transform.md#canvas-transform-handle-missing) 変換を無視します。

データセット全体に変換を再適用した場合、その変換は推論パイプラインに引き継がれます。例えば、中央値を使用して欠損値を代入した場合、変換を再適用した中央値が推論リクエストに適用されます。Jupyter Notebook を使用している場合、または推論パイプラインにデータをエクスポートしている場合、Data Wrangler フローから変換を再適用できます。

シリアル推論パイプラインは、入力文字列と出力文字列として次のデータ型をサポートします。各データ型には一連の要件があります。

**サポートされるデータ型**
+ `text/csv` – CSV 文字列のデータ型
  + 文字列にヘッダーを含めることはできません。
  + 推論パイプラインに使用される特徴量は、トレーニングデータセット内の特徴量と同じ順序でなければなりません。
  + 特徴量間にはカンマ区切り文字が必要です。
  + レコードは改行文字で区切る必要があります。

  以下は、推論リクエストで入力できる有効な形式の CSV 文字列の例です。

  ```
  abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890                    
  ```
+ `application/json` – JSON 文字列のデータ型
  + 推論パイプラインのデータセットで使用される特徴量は、トレーニングデータセット内の特徴量と同じ順序でなければなりません。
  + データには特定のスキーマが必要です。スキーマは、一連の `features` を含む単一の `instances` オブジェクトとして定義します。各 `features` オブジェクトは観測値を表します。

  以下は、推論リクエストで入力できる有効な形式の JSON 文字列の例です。

  ```
  {
      "instances": [
          {
              "features": ["abc", 0.0, "Doe, John", 12345]
          },
          {
              "features": ["def", 1.1, "Doe, Jane", 67890]
          }
      ]
  }
  ```

### Jupyter Notebook を使用して推論エンドポイントを作成する
<a name="canvas-inference-notebook"></a>

次の手順を使用して Data Wrangler フローをエクスポートし、推論パイプラインを作成します。

Jupyter Notebook を使用して推論パイプラインを作成するには、以下を実行します。

1. エクスポートするノードの横にある **[\+]** を選択します。

1. **[データフローをエクスポート]** を選択します。

1. **[SageMaker AI 推論パイプライン (Jupyter Notebook 経由)]** 選択します。

1. Jupyter Notebook をダウンロードするか、Amazon S3 の場所にコピーします。Studio Classic 内でアクセスできる Amazon S3 の場所にコピーすることをお勧めします。適切な場所に関するガイダンスが必要な場合は、管理者にお問い合わせください。

1. Jupyter Notebook を実行します。

Jupyter Notebook を実行すると、推論フローアーティファクトが作成されます。推論フローアーティファクトは、シリアル推論パイプラインの作成に使用されるメタデータが追加された Data Wrangler フローファイルです。エクスポートするノードには、先行ノードのすべての変換が含まれます。

**重要**  
Data Wrangler は、推論パイプラインを実行するために推論フローアーティファクトを必要とします。独自のフローファイルをアーティファクトとして使用することはできません。前述の手順を使用して作成する必要があります。

## Python コードを使用してデータ準備を自動化する
<a name="canvas-data-export-python-code"></a>

データフローのすべてのステップを、任意のデータ処理ワークフローに手動で統合できる Python ファイルにエクスポートするには、次の手順を使用します。

次の手順を使用して Jupyter Notebook を生成し、それを実行して Data Wrangler フローを Python コードにエクスポートします。

1. エクスポートするノードの横にある **[\+]** を選択します。

1. **[データフローをエクスポート]** を選択します。

1. **[Python コード]** を選択します。

1. Jupyter Notebook をダウンロードするか、Amazon S3 の場所にコピーします。Studio Classic 内でアクセスできる Amazon S3 の場所にコピーすることをお勧めします。適切な場所に関するガイダンスが必要な場合は、管理者にお問い合わせください。

1. Jupyter Notebook を実行します。

Python スクリプトをパイプラインで実行するように設定する必要がある場合があります。たとえば、Spark 環境を実行している場合は、 AWS リソースへのアクセス許可を持つ環境からスクリプトを実行していることを確認してください。