

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

# Amazon SageMaker Canvas
<a name="canvas"></a>

Amazon SageMaker Canvas では、コードを一切使用することなく、機械学習を使用して予測を生成できます。以下に、SageMaker Canvas を使用できるユースケースをいくつか紹介します。
+ カスタマーチャーンの予測
+ 在庫の効率的な計画
+ 価格と収益の最適化
+ 納期内納品率の改善
+ カスタムカテゴリに基づいたテキストや画像の分類
+ 画像内のオブジェクトやテキストの識別
+ ドキュメントからの情報の抽出

Canvas では、一般的な大規模言語モデル (LLM) を使用したチャット、Ready-to-use モデルへのアクセス、データに基づいてトレーニングされたカスタムモデルの構築を行うことができます。

Canvas チャットは、オープンソースと Amazon LLM を活用して生産性を高めるのに役立つ機能です。コンテンツの生成、ドキュメントの要約または分類、質問への回答などのタスクの支援にモデルを活用できます。詳細については[SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)を参照してください。

Canvas の [Ready-to-use モデル](canvas-ready-to-use-models.md)では、さまざまなユースケースでデータからインサイトを得ることができます。Ready-to-use モデルは、[Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html)、[Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html)、[Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) などの Amazon の AI サービスを活用しているため、Ready-to-use モデルを使用するためにモデルを構築する必要はありません。データをインポートするだけで、予測を生成するソリューションをすぐに使い始めることができます。

ユースケースに合わせてカスタマイズされ、使用するデータでトレーニングされたモデルが必要な場合は、[モデルを構築できます](canvas-custom-models.md)。使用するデータでカスタマイズされた予測を行うには、次の手順に従います。

1. 1 つ以上のデータソースからデータをインポートする。

1. 予測モデルを構築する。

1. モデルのパフォーマンスを評価する。

1. モデルを使用して予測を生成する。

Canvas は、次のタイプのカスタムモデルをサポートしています。
+ 数値予測 (*リグレッション*とも呼ばれます)
+ 2 つ以上および 3 つ以上のカテゴリのカテゴリ予測 (*二項分類*および*マルチクラス分類*とも呼ばれます)
+ 時系列予測
+ 単一ラベル画像予測 (*画像分類*とも呼ばれます)
+ マルチカテゴリテキスト予測 (*マルチクラステキスト分類*とも呼ばれます)

料金の詳細については、「[SageMaker Canvas 料金のページ](https://aws.amazon.com/sagemaker/canvas/pricing/)」を参照してください。また「[SageMaker Canvas の請求情報とコストを管理する](canvas-manage-cost.md)」も参照してください。

現在、SageMaker Canvas は以下のリージョンで利用できます。
+ 米国東部(オハイオ)
+ 米国東部 (バージニア北部)
+ 米国西部 (北カリフォルニア)
+ 米国西部 (オレゴン)
+ アジアパシフィック (ムンバイ)
+ アジアパシフィック (ソウル)
+ アジアパシフィック (シンガポール)
+ アジアパシフィック (シドニー)
+ アジアパシフィック (東京)
+ カナダ (中部)
+ 欧州 (フランクフルト)
+ 欧州 (アイルランド)
+ 欧州 (ロンドン)
+ 欧州 (パリ)
+ 欧州 (ストックホルム)
+ 南米 (サンパウロ)

**Topics**
+ [SageMaker Canvas を初めてお使いになる方向けの情報](#canvas-first-time-user)
+ [Amazon SageMaker Canvas の開始方法](canvas-getting-started.md)
+ [チュートリアル: SageMaker Canvas でエンドツーエンドの機械学習ワークフローを構築する](canvas-end-to-end-machine-learning-workflow.md)
+ [Amazon SageMaker Canvas の設定と権限の管理 (IT 管理者向け)](canvas-setting-up.md)
+ [Amazon Q Developer を使用して Canvas で ML の問題を解決するための生成 AI 支援](canvas-q.md)
+ [データのインポート](canvas-importing-data.md)
+ [データ準備](canvas-data-prep.md)
+ [SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)
+ [Ready-to-use モデル](canvas-ready-to-use-models.md)
+ [カスタムモデル](canvas-custom-models.md)
+ [Amazon SageMaker Canvas からのログアウト](canvas-log-out.md)
+ [制限事項とトラブルシューティング](canvas-limits.md)
+ [SageMaker Canvas の請求情報とコストを管理する](canvas-manage-cost.md)

## SageMaker Canvas を初めてお使いになる方向けの情報
<a name="canvas-first-time-user"></a>

SageMaker Canvas を初めて使用する方には、以下のセクションを初めに読むことをお勧めします。
+ IT 管理者向け — [Amazon SageMaker Canvas の設定と権限の管理 (IT 管理者向け)](canvas-setting-up.md)
+ アナリストおよび個人ユーザー向け — [Amazon SageMaker Canvas の開始方法](canvas-getting-started.md)
+ エンドツーエンドワークフローの例 — [チュートリアル: SageMaker Canvas でエンドツーエンドの機械学習ワークフローを構築する](canvas-end-to-end-machine-learning-workflow.md)

# Amazon SageMaker Canvas の開始方法
<a name="canvas-getting-started"></a>

このガイドでは、SageMaker Canvas の使用を開始する方法を説明します。さらなる詳細情報を必要としている IT 管理者は、「[Amazon SageMaker Canvas の設定と権限の管理 (IT 管理者向け)](canvas-setting-up.md)」を参照してユーザー向けに SageMaker Canvas を設定できます。

**Topics**
+ [Amazon SageMaker Canvas を設定するための前提条件](#canvas-prerequisites)
+ [手順 1: SageMaker Canvas にログインする](#canvas-getting-started-step1)
+ [手順 2: SageMaker Canvas を使用して予測を生成する](#canvas-getting-started-step2)

## Amazon SageMaker Canvas を設定するための前提条件
<a name="canvas-prerequisites"></a>

SageMaker Canvas アプリケーションを設定するには、次のいずれかのセットアップ方法を使用してオンボードします。

1. ** AWS コンソールを使用してオンボードします。** AWS コンソールからオンボードするには、まず Amazon SageMaker AI ドメインを作成します。SageMaker AI ドメインは、Canvas や [SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) などのさまざまな機械学習 (ML) 環境をサポートしています。ドメインの詳細については、「[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)」を参照してください。

   1. (クイック) [Amazon SageMaker AI の高速セットアップを使用する](onboard-quick-start.md) – ドメインをすばやく設定する場合は、このオプションを選択します。これにより、デフォルトの Canvas アクセス許可と基本機能がすべてユーザーに付与されます。[ドキュメントクエリ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html#canvas-fm-chat-query)などの追加の機能は、後で管理者が有効にできます。より詳細なアクセス許可を設定する場合は、代わりに [詳細] オプションを選択することをお勧めします。

   1. (標準) [Amazon SageMaker AI のカスタムセットアップを使用する](onboard-custom.md) – ドメインをより詳細に設定するには、このオプションを選択します。データ準備機能、生成 AI 機能へのアクセス、モデルのデプロイなどの、ユーザーアクセス許可をきめ細かく制御します。

1. **を使用してオンボードします CloudFormation。 **はリソースと設定のプロビジョニング[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)を自動化するため、1 つ以上のユーザープロファイルに対して Canvas を同時に設定できます。このオプションは、オンボーディングプロセスを大規模に自動化して、アプリケーションを毎回同じように設定する場合に使用します。次の [CloudFormation テンプレート](https://github.com/aws-samples/cloudformation-studio-domain)は、Canvas にオンボードするための効率的な手段を提供します。これによって、必要なすべてのコンポーネントが適切に設定されるため、機械学習モデルの構築とデプロイに集中できるようになります。

次のセクションでは、 AWS コンソールを使用してドメインを作成して Canvas にオンボードする方法について説明します。

**重要**  
Amazon SageMaker Canvas を設定するには、バージョン 3.19.0 以降の Amazon SageMaker Studio が必要です。Amazon SageMaker Studio の使用の詳細については、「[Amazon SageMaker Studio Classic をシャットダウンして更新する](studio-tasks-update-studio.md)」を参照してください。

### AWS コンソールを使用してオンボードする
<a name="canvas-prerequisites-domain"></a>

クイックドメインの設定を行っている場合は、「[Amazon SageMaker AI の高速セットアップを使用する](onboard-quick-start.md)」の手順に従い、このセクションの残りの部分をスキップして「[手順 1: SageMaker Canvas にログインする](#canvas-getting-started-step1)」に進むことができます。

標準ドメインの設定を行っている場合は、ユーザーにアクセス権限を付与する Canvas 機能を指定できます。このセクションの残りの部分に従って、標準のドメイン設定を完了し、Canvas に固有の権限を設定します。

「[Amazon SageMaker AI のカスタムセットアップを使用する](onboard-custom.md)」の設定手順の「**ステップ 2: ユーザーと ML アクティビティ**」では、付与する Canvas 権限を選択する必要があります。**[ML アクティビティ]** セクションでは、次の権限ポリシーを選択して Canvas 機能へのアクセス権限を付与できます。ドメインを設定するときに選択できる **[ML アクティビティ]** は最大 8 つです。Canvas を使用するには、次のリストの最初の 2 つの権限が必要ですが、残りは追加機能用です。
+ **Studio アプリケーションの実行** – これらの権限は、Canvas アプリケーションを起動するために必要なものです。
+ **[Canvas のコアアクセス](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)** – これらの権限により、Canvas アプリケーションに加えて、データセットの作成、基本的なデータ変換の使用、モデルの構築と分析などの Canvas の基本機能にアクセスできます。
+ (オプション) **[Canvas データの準備 (Data Wrangler を活用)](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html)** – これらの権限により、データフローを作成し、高度な変換を使用して Canvas でデータを準備するためのアクセス権限が付与されます。これらの権限は、データ処理ジョブとデータ準備ジョブスケジュールの作成にも必要です。
+ (オプション) **[Canvas AI サービス](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasAIServicesAccess.html)** – これらの権限により、Canvas の Ready-to-use モデル、基盤モデル、データとのチャット機能へのアクセス権限が付与されます。
+ (オプション) **Kendra アクセス** – この権限により、[ドキュメントクエリ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html#canvas-fm-chat-query)機能へのアクセス権限が付与されます。この機能を使用すると、Canvas の基盤モデルを使用して、Amazon Kendra インデックスに保存されているドキュメントをクエリできます。

  このオプションを選択した場合は、**[Canvas Kendra アクセス]** セクションに、アクセス権限を付与する Amazon Kendra インデックスの ID を入力します。
+ (オプション) **[Canvas MLOps](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDirectDeployAccess.html)** – この権限により、Canvas の[モデルデプロイ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-deploy-model.html)機能にアクセスできるようになります。この機能を使用すると、本番環境で使用するモデルをデプロイできます。

ドメイン設定の「**ステップ 3: アプリケーション**」セクションで、**[Canvas を設定]** を選択し、以下を実行します。

1.  **[Canvas ストレージの設定]** で、Canvas がモデルアーティファクト、バッチ予測、データセット、ログなどのアプリケーションデータを保存する場所を指定します。SageMaker AI は、このバケット内に `Canvas/` フォルダを作成してデータを保存します。詳細については、「[Amazon S3 ストレージを設定にする](canvas-storage-configuration.md)」を参照してください。このセクションで以下を行います。

   1. `s3://sagemaker-{Region}-{your-account-id}` のパターンでデフォルトの SageMaker AI 作成バケットに場所を設定する場合は、**[システムマネージド]** を選択します。

   1. 独自の Amazon S3 バケットをストレージロケーションとして指定するには、**[カスタム S3]** を選択します。次に、Amazon S3 URI を入力します。

   1. (オプション) **[暗号化キー]** で、指定した場所に保存されている Canvas アーティファクトを暗号化するための KMS キーを指定します。

1. (オプション) **Amazon Q Developer** の場合は、以下を実行します。

   1. **[自然言語 ML で SageMaker Canvas の Amazon Q Developer を有効にする]** をオンにして、Canvas の ML ワークフロー中に生成 AI 支援を活用するアクセス許可をユーザーに付与します。このオプションは、Canvas アプリケーションで実行できる事前定義されたタスクのヘルプを Amazon Q Developer にクエリするアクセス許可のみを付与します。

   1. **一般的な AWS 質問に対して Amazon Q Developer チャットを有効に**して、 AWS サービスに関連する生成 AI クエリを実行するアクセス許可をユーザーに付与します。

1. (オプション) ユーザーが Canvas で 5 GB を超えるデータセットを処理する予定がある場合は、**[大規模データ]** セクションを設定します。このようなオプションの設定方法については、「[ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する](canvas-large-data-permissions.md)」を参照してください。

1. (オプション) **[ML Ops 許可の設定]** セクションで、以下を実行します。

   1. **[Canvas モデルの直接デプロイを有効にする]** オプションをオンにしたままにすると、Canvas から SageMaker AI エンドポイントにモデルをデプロイするためのアクセス許可がユーザーに付与されます。Canvas でのモデルのデプロイの詳細については、「[モデルをエンドポイントにデプロイする](canvas-deploy-model.md)」を参照してください。

   1. **[すべてのユーザーにモデルレジストリの登録を許可する]** オプションをオンのままにすると、SageMaker モデルレジストリにモデルバージョンを登録するためのアクセス許可がユーザーに付与されます (デフォルトではオン)。詳細については、「[モデルのバージョンを SageMaker AI モデルレジストリに登録する](canvas-register-model.md)」を参照してください。

   1. **[すべてのユーザーでモデルレジストリの登録権限を有効にする]** オプションをオンのままにした場合は、**[モデルレジストリにのみ登録]** または **[モデルレジストリでモデルを登録して承認]** を選択します。

1. (オプション) **[ローカルファイルアップロードの設定]** セクションで、**[ローカルファイルのアップロードを有効化]** オプションをオンにして、ローカルマシンから Canvas にファイルをアップロードするための権限をユーザーに付与します。このオプションをオンにすると、クロスオリジンリソース共有 (CORS) ポリシーが、**[Canvas ストレージの設定]** で指定された Amazon S3 バケットにアタッチされます (既存の CORS ポリシーは上書きされます)。ローカルファイルのアップロード権限の詳細については、「[ローカルファイルをアップロードする権限をユーザーに付与する](canvas-set-up-local-upload.md)」を参照してください。

1. (オプション) [**OAuth 設定**] セクションでは、次を実行します。

   1. **[OAuth 設定の追加]** を選択します。

   1. **[データソース]** で、データソースを選択します。

   1. **[シークレットの設定]** で、**[新しいシークレットを作成]** を選択し、ID プロバイダーから取得した情報を入力します。データソースで最初の OAuth 設定をまだ実行していない場合は、「[OAuth を使用してデータソースへの接続を設定する](canvas-setting-up-oauth.md)」を参照してください。

1. (オプション) **[Canvas の Ready-to-use モデルの設定]** では、以下を実行します。

   1. **[Canvas の Ready-to-use モデルを有効にする]** をオンのままにして、Canvas の Ready-to-use モデルで予測を生成するための権限をユーザーに付与します (デフォルトではオン)。このオプションは、生成系 AI 搭載モデルとチャットする権限も付与します。詳細については、「[SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)」を参照してください。

   1. **[Amazon Kendra を使用してドキュメントクエリを有効にする]** オプションをオンにしたままにして、Amazon Kendra インデックスに保存されているドキュメントのクエリの目的で基盤モデルを使用するための権限をユーザーに付与します。次に、ドロップダウンメニューから、アクセス権限を付与する既存のインデックスを選択します。詳細については、「[SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)」を参照してください。

   1. **Amazon Bedrock ロール**に対しては、**[新しい実行ロールの作成および使用]** を選択して、Amazon Bedrock との信頼関係を持つ新しい IAM 実行ロールを作成します。この IAM ロールは、Canvas で大規模言語モデル (LLM) をファインチューニングするために Amazon Bedrock によって引き受けられます。信頼関係を持つ実行ロールが既にある場合は、**[既存の実行ロールを使用する]** を選択し、ドロップダウンからロールを選択します。独自の実行ロールの権限を手動で設定する方法の詳細については、「[Canvas で Amazon Bedrock と生成 AI 機能を使用する権限をユーザーに付与する](canvas-fine-tuning-permissions.md)」を参照してください。

1. 「[Amazon SageMaker AI のカスタムセットアップを使用する](onboard-custom.md)」の手順を使用して、残りのドメインの設定を完了します。

**注記**  
Ready-to-use モデルの権限など、コンソールから権限を付与する際に問題が発生した場合は、「[SageMaker AI コンソールを介したアクセス許可の付与に関する問題のトラブルシューティング](canvas-limits.md#canvas-troubleshoot-trusted-services)」のトピックを参照してください。

これで、SageMaker AI ドメインとすべての Canvas の許可の設定は完了したはずです。

ドメインまたは特定のユーザーの Canvas 権限は、ドメインの初期設定後に編集できます。ドメイン設定は、個々のユーザー設定で上書きされます。ドメイン設定で Canvas 権限を編集する方法については、「[ドメイン設定を編集する](domain-edit.md)」を参照してください。

### Canvas の特定の機能を使用する権限を自分に付与する
<a name="canvas-prerequisites-permissions"></a>

Canvas のさまざまな機能を使用するために Canvas ユーザーに付与できるさまざまな権限の概要を以下に示します。これらの権限の一部はドメイン設定中に付与できますが、追加の権限または設定を必要とするものもあります。有効にする各機能の特定の権限情報を参照してください。
+ **ローカルファイルのアップロード。**ローカルファイルのアップロード権限は、ドメインの設定時に Canvas の基本権限でデフォルトで有効になっています。ローカルファイルを端末から SageMaker Canvas にアップロードできない場合は、Canvas ストレージ設定で指定した Amazon S3 バケットに CORS ポリシーをアタッチします。SageMaker AI にデフォルトのバケットの使用を許可した場合、バケットは `s3://sagemaker-{Region}-{your-account-id}` の命名パターンに従います。詳細については、「[Grant Your Users Permissions to Upload Local Files](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-set-up-local-upload.html)」を参照してください。
+ **カスタム画像予測モデルとテキスト予測モデル。**カスタム画像予測モデルとテキスト予測モデルを構築する権限は、ドメインの設定時に Canvas の基本権限でデフォルトで有効になっています。ただし、カスタム IAM 設定があり、[AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) ポリシーをユーザーの IAM 実行ロールにアタッチしない場合は、必要な権限をユーザーに明示的に付与する必要があります。詳細については、「[カスタマイズされた画像予測モデルおよびテキスト予測モデルを構築する権限を自分に付与する](canvas-set-up-cv-nlp.md)」を参照してください。
+ **Ready-to-use モデルと基盤モデル。**Canvas の Ready-to-use モデルを使用してデータを予測する必要が生じることがあります。Ready-to-use モデルの権限があれば、生成 AI 搭載モデルとチャットすることもできます。この権限はドメインの設定時にデフォルトで有効になっています。また、作成済みのドメインの権限を編集することもできます。Canvas の Ready-to-use モデルの権限オプションでは、実行ロールに [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) アクセスポリシーが追加されます。詳細については、Ready-to-use モデルのドキュメントの「[はじめに](canvas-ready-to-use-models.md#canvas-ready-to-use-get-started)」セクションを参照してください。

  生成 AI 基盤モデルの使用を開始する方法の詳細については、「[SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)」を参照してください。
+ **基盤モデルのファインチューニング。**Canvas で基盤モデルをファインチューニングする場合は、ドメインの設定時に権限を追加するか、ドメインの作成後にドメインまたはユーザープロファイルの権限を編集できます。ユーザープロファイルの設定時に選択した IAM AWS ロールに [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) ポリシーを追加し、ロールに Amazon Bedrock との信頼関係も追加する必要があります。これらの権限を IAM ロールに追加する方法については、「[Canvas で Amazon Bedrock と生成 AI 機能を使用する権限をユーザーに付与する](canvas-fine-tuning-permissions.md)」を参照してください。
+ **バッチ予測を Quick に送信します。**[*バッチ予測*、またはカスタムモデルから生成した予測のデータセットを分析のために Quick に送信](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html)できます。[QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) では、予測結果を含む予測ダッシュボードの作成および公開を行えます。Canvas ユーザーの IAM ロールにこれらのアクセス許可を追加する方法については、「予測を[クイックに送信するアクセス許可をユーザーに付与する](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-quicksight-permissions.html)」を参照してください。
+ **SageMaker AI エンドポイントに Canvas モデルをデプロイします**。SageMaker AI ホスティングは、本番環境向けにモデルをデプロイするために使用できる*エンドポイント*を提供しています。Canvas に組み込まれたモデルを SageMaker AI エンドポイントにデプロイし、本番環境でプログラミングを使用して予測を行うことができます。詳細については、「[モデルをエンドポイントにデプロイする](canvas-deploy-model.md)」を参照してください。
+ **モデルのバージョンをモデルレジストリに登録する。**モデルの*バージョン*を [SageMaker モデルレジストリ](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)に登録することをお勧めします。これは、モデルの更新バージョンのステータスを追跡するためのリポジトリです。SageMaker モデルレジストリを利用するデータサイエンティストや MLOps チームは、構築したモデルのバージョンを確認し、承認または拒否することができます。その後、モデルバージョンを本番環境にデプロイしたり、自動化されたワークフローを開始したりできます。ドメインのモデル登録権限はデフォルトで有効になっています。ユーザープロファイルレベルで権限を管理して、特定のユーザーに権限を付与または削除できます。詳細については、「[モデルのバージョンを SageMaker AI モデルレジストリに登録する](canvas-register-model.md)」を参照してください。
+ **Amazon Redshift からデータをインポートする。**データを Amazon Redshift からインポートするには、追加の権限を自分に付与する必要があります。ユーザープロファイルの設定時に選択した IAM AWS ロールに `AmazonRedshiftFullAccess`管理ポリシーを追加する必要があります。ロールにポリシーを追加する方法については、「[Grant Users Permissions to Import Amazon Redshift Data](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-redshift-permissions.html)」を参照してください。

**注記**  
Amazon Athena や SaaS プラットフォームなどの他のデータソースを介してインポートするために必要な権限は、[AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) ポリシーと [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) ポリシーに含まれています。標準の設定手順に従って設定を行っている場合、これらのポリシーは実行ロールにアタッチされています。これらのデータソースとその権限の詳細については、「[データソースに接続する](canvas-connecting-external.md)」を参照してください。

## 手順 1: SageMaker Canvas にログインする
<a name="canvas-getting-started-step1"></a>

初期設定が完了すると、ユースケースに応じて、次のいずれかの方法で SageMaker Canvas にアクセスできるようになります。
+ [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/) の左側のナビゲーションペインで、**[Canvas]** をクリックします。次に、**[Canvas]** ページで、ドロップダウンからユーザーを選択し、Canvas アプリケーションを起動します。
+ [[SageMaker Studio]](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) を開き、Studio インターフェイスで Canvas ページに移動して、Canvas アプリケーションを起動します。
+ Okta や IAM Identity Center などの、組織の SAML 2.0 ベースの SSO メソッドを使用します。

SageMaker Canvas に初めてログインすると、SageMaker AI がアプリケーションと SageMaker AI *スペース*を作成します。Canvas アプリケーションのデータはスペースに保存されます。スペースの詳細については、「[共有スペースでコラボレーション](domain-space.md)」を参照してください。このスペースは、ユーザープロファイルのアプリケーションと、アプリケーションのすべてのデータの共有ディレクトリで構成されています。SageMaker AI が作成したデフォルトのスペースを使用せずに、アプリケーションデータを保存するための独自のスペースを作成する場合は、「[SageMaker Canvas アプリケーションデータを独自の SageMaker AI スペースに保存する](canvas-spaces-setup.md)」ページを参照してください。

## 手順 2: SageMaker Canvas を使用して予測を生成する
<a name="canvas-getting-started-step2"></a>

Canvas にログインすると、モデルの構築とデータの予測の生成を開始できます。

Canvas の Ready-to-use モデルを使用して、モデルを構築することなく予測を行ったり、特定のビジネスの問題に対応するカスタムモデルを構築したりできます。Ready-to-use モデルまたはカスタムモデルのどちらが自分のユースケースに適しているかを判断するには、以下を確認してください。
+ **Ready-to-use モデル。**Ready-to-use モデルでは、構築済みのモデルを使用してデータからインサイトを得ることができます。Ready-to-use モデルは、言語検出や文書分析など、さまざまなユースケースに対応しています。Ready-to-use モデルで予測を始めるには、「[Ready-to-use モデル](canvas-ready-to-use-models.md)」を参照してください。
+ **カスタムモデル。**カスタムモデルを使用すると、データの予測にカスタマイズしたさまざまなモデルタイプを作成できます。ビジネス固有のデータでトレーニングされたモデルを構築し、[モデルのパフォーマンスを評価する](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html)などの機能を使用する場合は、カスタムモデルを使用します。カスタムモデルの構築を開始するには、「[カスタムモデル](canvas-custom-models.md)」を参照してください。

# チュートリアル: SageMaker Canvas でエンドツーエンドの機械学習ワークフローを構築する
<a name="canvas-end-to-end-machine-learning-workflow"></a>

このチュートリアルでは、Amazon SageMaker Canvas を使用したエンドツーエンドの機械学習 (ML) ワークフローについて説明します。SageMaker Canvas は、データの準備や ML モデルのトレーニングとデプロイに使用できる視覚的なノーコードインターフェイスです。このチュートリアルでは、NYC タクシーデータセットを使用して、特定のタクシー利用の料金を予測するモデルをトレーニングします。データ品質の評価やデータの問題への対応、トレーニングセットとテストセットへのデータの分割、モデルのトレーニングと評価、予測の作成、トレーニング済みモデルのデプロイなど、主要な ML タスクをすべて SageMaker Canvas アプリケーション内で実際に体験することができます。

**重要**  
このチュートリアルでは、ユーザーまたは管理者が AWS アカウントを作成していることを前提としています。 AWS アカウントの作成の詳細については、[「開始方法: 初めての AWS ユーザーですか?](https://docs.aws.amazon.com/accounts/latest/reference/welcome-first-time-user.html)」を参照してください。

## 設定
<a name="canvas-tutorial-setting-up"></a>

Amazon SageMaker AI ドメインは、すべての Amazon SageMaker AI 環境とリソースを管理するための一元化された場所です。ドメインは SageMaker AI での作業の仮想境界として機能し、機械学習 (ML) リソースの分離とアクセスコントロールを提供します。

Amazon SageMaker Canvas の使用を開始するには、ユーザーまたは管理者が SageMaker AI コンソールに移動し、Amazon SageMaker AI ドメインを作成する必要があります。ドメインには、SageMaker Canvas を実行するために必要なストレージリソースとコンピューティングリソースがあります。ドメイン内で、Amazon S3 バケットにアクセスしてモデルをデプロイするように SageMaker Canvas を設定します。クイックドメインを設定し、SageMaker Canvas アプリケーションを作成するには、次の手順に従います。

**SageMaker Canvas を設定するには**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker)に移動します。

1. 左側のナビゲーションで、[SageMaker Canvas] を選択します。

1. **[SageMaker AI ドメインを作成]** をクリックします。

1. **[設定]** を選択します。ドメインの設定には数分かかる場合があります。

前述の手順では、クイックドメイン設定を使用しました。権限、統合、暗号化など、アカウント設定のあらゆる側面を制御するための高度な設定を実行できます。カスタム設定の詳細については、「[Amazon SageMaker AI のカスタムセットアップを使用する](onboard-custom.md)」を参照してください。

デフォルトでは、クイックドメイン設定を実行すると、モデルをデプロイするための権限が付与されます。標準ドメインを介してカスタム権限が設定されていて、モデルのデプロイ権限を手動で付与する必要がある場合は、「[権限の管理](canvas-deploy-model.md#canvas-deploy-model-prereqs)」を参照してください。

## フローの作成
<a name="canvas-tutorial-flow-creation"></a>

Amazon SageMaker Canvas は、コーディングや機械学習に関する広範な専門知識を必要とせずに、ユーザーが機械学習モデルを構築、トレーニング、デプロイできるようにする機械学習プラットフォームです。Amazon SageMaker Canvas の強力な機能の 1 つは、Amazon S3 などのさまざまなソースから大規模なデータセットをインポートして操作できることです。

このチュートリアルでは、NYC タクシーデータセットを使用して、Amazon SageMaker Canvas Data Wrangler データフローに従って各タクシー利用料金を予測します。次の手順では、変更されたバージョンの NYC タクシーデータセットをデータフローにインポートする手順の概要を示します。

**注記**  
処理を改善するために、SageMaker Canvas ではデータのサンプルをインポートします。デフォルトでは、50,000 行がランダムにサンプリングされます。

**NYC タクシーデータセットをインポートするには**

1. SageMaker Canvas ホームページから **[Data Wrangler]**を 選択します。

1. **[データをインポート]** を選択します。

1. **[表形式]** を選択します。

1. データソースの横にあるツールボックスを選択します。

1. ドロップダウンから **[Amazon S3]** を選択します。

1. **[S3 エンドポイントの入力]** で、`s3://amazon-sagemaker-data-wrangler-documentation-artifacts/canvas-single-file-nyc-taxi-dataset.csv` を指定します。

1. **[Go]** を選択します。

1. データセットの横にあるチェックボックスをオンにします。

1. **[データをプレビュー]** を選択します。

1. **[保存]** を選択します。

## データ品質とインサイトレポート 1 (サンプル)
<a name="canvas-tutorial-data-quality-insights-report-1"></a>

Amazon SageMaker Canvas にデータセットをインポートした後は、データのサンプルに関するデータ品質とインサイトレポートを生成できます。これを使用すると、データセットに関する貴重なインサイトを提供できます。このレポートでは、以下が行われます。
+ データセットの完全性を評価する
+ 欠損値と外れ値を特定する

このレポートは、モデルのパフォーマンスに影響を与える可能性のある他の潜在的な問題を特定できます。また、ターゲット変数に関する各機能の予測能力を評価して、解決しようとしている問題に最も関連性の高い機能を特定できます。

レポートからのインサイトを使用すると、料金を予測できます。**[利用料金]** 列をターゲット変数として指定し、問題タイプとして **[リグレッション]** を選択すると、利用料金などの連続する値の予測に対するデータセットの適合性が分析されます。このレポートでは、**year** や **hour\$1of\$1day** などの特徴量は、選択したターゲット変数に対する予測能力が低く、貴重なインサイトが得られることがわかります。

データセットからの 50,000 行のサンプルに関するデータ品質とインサイトレポートを取得するには、次の手順に従います。

**サンプルに関するレポートを取得するには**

1. **[データ型]** ノードの横にあるポップアップウィンドウから**[データインサイトを取得]** を選択します。

1. **[分析名]** に、レポートの名前を指定します。

1. **[問題のタイプ]** では、**[リグレッション]** を選択します。

1. **[ターゲット列]** では、**[利用料金]** を選択します。

1. **[作成]** を選択します。

データのサンプルに関するデータ品質とインサイトレポートを確認できます。レポートには、**year** と **hour\$1of\$1day** の特徴量がターゲット変数の **[利用料金]** を予測していないことが示されます。

ナビゲーションの上部でデータフローの名前を選択し、それに戻ります。

## 年と時間の削除
<a name="canvas-tutorial-drop-year-and-hour-of-day"></a>

レポートのインサイトを使用して **year** 列と **hour\$1of\$1day** 列を削除すると、特徴空間を合理化してモデルのパフォーマンスを向上できる場合があります。

Amazon SageMaker Canvas には、このようなデータ変換を実行するための使いやすいインターフェイスとツールが用意されています。

次の手順に従い、Amazon SageMaker Canvas の Data Wrangler ツールを使用して、NYC タクシーデータセットから **year** 列と **hour\$1of\$1day** 列を削除します。

1. **[データ型]** の横にあるアイコンを選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. 検索バーに、**列のドロップ**と書き込みます。

1. **[列の管理]** を選択します。

1. **[列をドロップ]** を選択します。

1. **[ドロップする列]** では、**year** 列と **hour\$1of\$1day** 列を選択します。

1. **[プレビュー]** を選択して、変換によってデータがどのように変更されるかを表示します。

1. **[Add]** (追加) を選択します。

前述の手順を基にして、SageMaker Canvas で他の変換をすべて追加することができます。

## データ品質とインサイトレポート 2 (フルデータセット)
<a name="canvas-tutorial-data-quality-insights-report-2"></a>

前のインサイトレポートでは、NYC タクシーデータセットのサンプルを使用しました。2 番目のレポートでは、モデルのパフォーマンスに影響を与える可能性のある問題を特定するために、データセット全体の包括的な分析を実行します。

以下の手順を使用して、データ品質とインサイトレポートをデータセット全体に対して作成します。

**データセット全体のレポートを取得するには**

1. **[列のドロップ]** ノードの横にあるアイコンを選択します。

1. **[データインサイトを取得する]** を選択します。

1. **[分析名]** に、レポートの名前を指定します。

1. **[問題のタイプ]** では、**[リグレッション]** を選択します。

1. **[ターゲット列]** では、**[利用料金]** を選択します。

1. **[データサイズ]** では、**[完全なデータセット]** を選択します。

1. **[作成]** を選択します。

インサイトレポートの画像を次に示します。

![\[重複した行、歪んだターゲット、非常に低いクイックモデルスコアが insightsP として一覧表示されています\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/canvas-tutorial-dqi-insights.png)


これは、次の問題を示しています。
+ 重複行
+ 歪んだターゲット

重複行は、データの漏洩につながる可能性があります。この場合、トレーニングとテスト中にモデルが同じデータに公開されます。これらは過度に楽観的なパフォーマンスメトリクスにつながる可能性があります。重複行を削除すると、モデルは一意のインスタンスでトレーニングされるため、データ漏洩のリスクが軽減され、モデルの定型化能力が向上します。

この場合、ターゲット変数の分布が歪んでいると、**[利用料金]** 列が不均衡なクラスを引き起こす可能性があり、モデルが多数派クラスに偏る可能性があります。これにより、少数クラスのパフォーマンスが低下することがあります。これは、まれなインスタンスや少数のインスタンスを正確に予測することが重要なシナリオでは特に問題になります。

## データ品質問題に対応する
<a name="canvas-tutorial-addressing-data-quality-issues"></a>

これらの問題に対処し、モデリング用のデータセットを準備するには、次の変換を検索して適用します。

1. **[行の管理]** 変換を使用して重複を削除します。

1. **[堅牢な標準偏差の数値外れ値]** を使用して、**[利用料金]** 列の**外れ値を処理**します。

1. **[標準偏差の数値外れ値]** を使用して、**[トリップ距離]** 列と **[トリップ期間]** 列の**外れ値を処理**します。

1. **[カテゴリ別にエンコードする]** を使用して、**[レートコード ID]**、**[支払いタイプ]**、**[追加フラグ]**、**[通行料金フラグ]** 列を浮動小数点数としてエンコードします。

変換の適用方法がわからない場合は、「[年と時間の削除](#canvas-tutorial-drop-year-and-hour-of-day)」を参照してください。

これらのデータ品質問題に対処し、適切な変換を適用することで、データセットのモデリングへの適合性を向上させることができます。

## データ品質とクイックモデルの精度を検証する
<a name="canvas-tutorial-verifying-data-quality-and-quick-model-accuracy"></a>

重複行の削除など、データ品質の問題に対応するために変換を適用した後に、最終的なデータ品質とインサイトレポートを作成します。このレポートは、適用された変換が問題を解決し、データセットがモデリングに適した状態になったことを確認するのに役立ちます。

最終的なデータ品質とインサイトレポートでは、大きなデータ品質問題が発生していないことを確認する必要があります。レポートは、以下を示している必要があります。
+ ターゲット変数が歪まなくなっている
+ 外れ値や重複行がない

さらに、レポートでは、変換されたデータセットでトレーニングされたベースラインモデルに基づいて、クイックモデルスコアを提供する必要があります。このスコアは、モデルの潜在的な精度とパフォーマンスの初期指標として機能します。

以下の手順を使用して、データ品質とインサイトレポートを作成します。

**データ品質とインサイトレポートを作成するには**

1. **[列のドロップ]** ノードの横にあるアイコンを選択します。

1. **[データインサイトを取得する]** を選択します。

1. **[分析名]** に、レポートの名前を指定します。

1. **[問題のタイプ]** では、**[リグレッション]** を選択します。

1. **[ターゲット列]** では、**[利用料金]** を選択します。

1. **[データサイズ]** では、**[完全なデータセット]** を選択します。

1. **[作成]** を選択します。

## データをトレーニングセットとテストセットに分割する
<a name="canvas-tutorial-split-data"></a>

モデルをトレーニングし、そのパフォーマンスを評価するには、**[データの分割]** 変換を使用してデータをトレーニングセットとテストセットに分割します。

デフォルトでは、SageMaker Canvas はランダム化分割を使用しますが、次の種類の分割を使用することもできます。
+ 順序付き
+ 層別化
+ キーで分割

**[分割率]** を変更したり、分割を追加したりできます。

このチュートリアルでは、分割にデフォルト設定をすべて使用します。データセットの名前を表示するには、データセットをダブルクリックする必要があります。トレーニングデータセットには、**データセット (トレーニング)** という名前が付いています。

**[序数エンコード]** ノードの横にある **[データの分割]** 変換を適用します。

## モデルをトレーニングする
<a name="canvas-tutorial-train-model"></a>

データを分割したら、モデルをトレーニングできます。このモデルは、データのパターンから学習します。これを使用して予測を行ったり、インサイトを発見したりできます。

SageMaker Canvas には、クイックビルドと標準ビルドの両方が備わっています。標準ビルドを使用して、データに対して最もパフォーマンスの高いモデルをトレーニングします。

モデルのトレーニングを開始する前に、まずトレーニングデータセットを SageMaker Canvas データセットとしてエクスポートする必要があります。

**データセットをエクスポートするには**

1. トレーニングデータセットのノードの横にあるアイコンを選択し、**[エクスポート]** を選択します。

1. **[SageMaker Canvas データセット]** を選択します。

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

データセットの作成後は、作成した SageMaker Canvas データセットでモデルをトレーニングできます。モデルをトレーニングする方法については、「[数値予測カスタムモデルまたはカテゴリ予測カスタムモデルを構築する](canvas-build-model-how-to.md#canvas-build-model-numeric-categorical)」を参照してください。

## モデルを評価し、予測を行う
<a name="canvas-tutorial-evaluate-model-and-make-predictions"></a>

機械学習モデルをトレーニングした後は、そのパフォーマンスを評価して、それが要件を満たしており、見えないデータに対して優れたパフォーマンスを発揮しているかどうか確認することが重要です。Amazon SageMaker Canvasには、モデルの精度を評価し、予測を確認して、その長所と短所に関するインサイトを得るための使いやすいインターフェイスが備わっています。インサイトを使用すると、デプロイについてと、改善の余地のある領域について、情報に基づいた決定を行うことができます。

デプロイ前にモデルを評価するには、次の手順に従います。

**モデルを評価するには**

1. **[自分のモデル]** を選択します。

1. 作成したモデルを選択します。

1. **[バージョン]** で、モデルに対応するバージョンを選択します。

これで、モデル評価メトリクスを表示できるようになります。

モデルを評価した後は、新しいデータの予測を行うことができます。ここでは作成したテストデータセットを使用します。

予測にテストデータセットを使用するには、それを SageMaker Canvas データセットに変換する必要があります。SageMaker Canvas データセットは、モデルが解釈できる形式です。

以下の手順に従って、テストデータセットから SageMaker Canvas データセットを作成します。

**SageMaker Canvas データセットを作成するには**

1. **[データセット (テスト)]** データセットの横にあるラジオアイコンを選択します。

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

1. **[SageMaker Canvas データセット]** を選択します。

1. **[データセット名]** に、データセットの名前を指定します。

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

次の手順に従って、予測を行います。ここではまだ **[分析]** ページが表示されていることが前提となっています。

**テストデータセットで予測を行うには**

1. **[予測]** を選択します。

1. **[手動]** を選択します。

1. エクスポートしたデータセットを選択します。

1. **[予測を生成]** を選択します。

1. SageMaker Canvas が予測の生成を完了したら、データセットの右側にあるアイコンを選択します。

1. **[プレビュー]** を選択して予測をプレビューします。

## モデルをデプロイする
<a name="canvas-tutorial-deploy-a-model"></a>

モデルを評価したら、エンドポイントにデプロイできるようになります。エンドポイントにリクエストを送信すると、予測を取得できます。

次の手順に従って、モデルをデプロイします。ここではまだ **[予測]** ページが表示されていることが前提となっています。

**モデルをデプロイするには**

1. **[デプロイ]** をクリックします。

1. **[デプロイの作成]** を選択します。

1. **[デプロイ]** をクリックします。

## クリーンアップ
<a name="canvas-tutorial-cleaning-up"></a>

これでチュートリアルは完了です。追加料金が発生しないように、使用していないリソースを削除します。

作成したエンドポイントを削除するには、次の手順に従います。ここではまだ **[デプロイ]** ページが表示されていることが前提となっています。

**エンドポイントを削除するには**

1. デプロイの右側にあるラジオボタンを選択します。

1. **[デプロイを削除]** を選択します。

1. **[削除]** を選択します。

デプロイを削除したら、SageMaker Canvas 内で作成したデータセットを削除します。以下の手順に従って、データセットを削除します。

**データセットを削除するには**

1. 左側のナビゲーションで、**[データセット]** を選択します。

1. 分析したデータセットと、予測に使用した合成データセットを選択します。

1. **[削除]** を選択します。

追加料金が発生しないように、SageMaker Canvas からログアウトする必要があります。詳細については、「[Amazon SageMaker Canvas からのログアウト](canvas-log-out.md)」を参照してください。

# Amazon SageMaker Canvas の設定と権限の管理 (IT 管理者向け)
<a name="canvas-setting-up"></a>

次のページでは、IT 管理者が Amazon SageMaker Canvas を設定し、組織内のユーザーに権限を付与する方法について説明します。ストレージ設定の設定、データ暗号化と VPCsの管理、生成 AI 基盤モデルなどの特定の機能へのアクセスの制御、Amazon Redshift などの他の AWS サービスとの統合を行う方法について説明します。これらの手順に従うことで、組織の特定の要件に基づき、ユーザーに合わせて SageMaker Canvas をカスタマイズできます。

を使用してユーザー用に SageMaker Canvas を設定することもできます AWS CloudFormation。詳細については、「*AWS CloudFormation ユーザーガイド*」の「[AWS::SageMaker AI::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)」を参照してください。

**Topics**
+ [ローカルファイルをアップロードする権限をユーザーに付与する](canvas-set-up-local-upload.md)
+ [ユーザー向けに SageMaker Canvas を設定する](setting-up-canvas-sso.md)
+ [Amazon S3 ストレージを設定にする](canvas-storage-configuration.md)
+ [クロスアカウント Amazon S3 ストレージの権限の付与](canvas-permissions-cross-account.md)
+ [ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する](canvas-large-data-permissions.md)
+ [で SageMaker Canvas データを暗号化する AWS KMS](canvas-kms.md)
+ [SageMaker Canvas アプリケーションデータを独自の SageMaker AI スペースに保存する](canvas-spaces-setup.md)
+ [カスタマイズされた画像予測モデルおよびテキスト予測モデルを構築する権限を自分に付与する](canvas-set-up-cv-nlp.md)
+ [Canvas で Amazon Bedrock と生成 AI 機能を使用する権限をユーザーに付与する](canvas-fine-tuning-permissions.md)
+ [ユーザー向けに SageMaker Canvas を更新する](canvas-update.md)
+ [クォータの引き上げをリクエストする](canvas-requesting-quota-increases.md)
+ [Amazon Redshift データをインポートする権限をユーザーに付与する](canvas-redshift-permissions.md)
+ [予測をクイックに送信するアクセス許可をユーザーに付与する](canvas-quicksight-permissions.md)
+ [アプリケーション管理](canvas-manage-apps.md)
+ [インターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する](canvas-vpc.md)
+ [OAuth を使用してデータソースへの接続を設定する](canvas-setting-up-oauth.md)

# ローカルファイルをアップロードする権限をユーザーに付与する
<a name="canvas-set-up-local-upload"></a>

ユーザーがローカルマシンから SageMaker Canvas にファイルをアップロードする場合は、ユーザーが使用している Amazon S3 バケットに CORS (クロスオリジンリソース共有) 設定をアタッチする必要があります。SageMaker AI ドメインまたはユーザープロファイルを設定または編集する際に、カスタム Amazon S3 の場所またはデフォルトの場所 (SageMaker AI が作成した、`s3://sagemaker-{Region}-{your-account-id}` のパターンを使用する名前の Amazon S3 バケット) を指定できます。SageMaker Canvas は、ユーザーがファイルをアップロードするたびに、そのデータをバケットに追加します。

ユーザーにローカルファイルをバケットにアップロードする権限を付与するには、以下の手順のいずれかを使用して CORS 設定をバケットにアタッチします。ドメインの設定を編集する際に、最初の方法を使用できます。この方法の場合、SageMaker AI が CORS 設定をバケットにアタッチすることを許可するようオプトインします。また、最初の方法を使用して、ドメイン内のユーザープロファイルを編集することもできます。2 つ目の方法は手動によるもので、CORS 設定を自分でバケットにアタッチします。

## SageMaker AI のドメイン設定方法
<a name="canvas-set-up-local-upload-domain"></a>

ローカルファイルをアップロードする権限をユーザーに付与するには、ドメイン設定で Canvas アプリケーション設定を編集します。これにより、クロスオリジンリソース共有 (CORS) 設定が Canvas ストレージ設定の Amazon S3 バケットにアタッチされ、ドメイン内のすべてのユーザーにローカルファイルを SageMaker Canvas にアップロードする権限が付与されます。デフォルトでは、新しいドメインを設定するときに権限オプションがオンになりますが、このオプションは必要に応じて切り替えることができます。

**注記**  
ストレージ設定の Amazon S3 バケットに既存の CORS 設定がある場合、ローカルファイルのアップロードオプションを有効にすると、既存の設定が新しい設定で上書きされます。

次の手順は、SageMaker AI コンソールでドメイン設定を編集して、このオプションを有効にする方法を説明しています。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動します。

1. 左側のナビゲーションペインで **[ドメイン]** を選択します。

1. ドメインのリストで、ドメインを選択します。

1. ドメインの詳細ページで、**[アプリケーション設定]** タブを選択します。

1. **[Canvas]** セクションに移動し、**[編集]** を選択します。

1. **[ローカルファイルのアップロードを有効化]** トグルをオンにします。これによって CORS 設定がアタッチされ、ローカルファイルのアップロード権限が付与されます。

1. **[送信]** を選択します。

指定されたドメインのユーザーには、ローカルファイルアップロード権限が付与されています。

前述の手順に従って、ドメイン全体の設定ではなくユーザープロファイル設定に移動することで、ドメイン内の特定のユーザープロファイルに権限を付与することもできます。

## Amazon S3 バケットを使用する場合
<a name="canvas-set-up-local-upload-s3"></a>

SageMaker AI Amazon S3 バケットに CORS 設定を手動でアタッチする場合は、次の手順に従います。

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) にサインインします。

1. バケットを選択します。ドメインで SageMaker AI が作成したデフォルトのバケットが使用されている場合、バケットは `s3://sagemaker-{Region}-{your-account-id}` のパターンに従って名前が付けられます。

1. **[アクセス許可]** を選択します。

1. **[クロスオリジンリソース共有 (CORS)]** に移動します。

1. **[編集]** を選択します。

1. 以下の CORS ポリシーを追加します。

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. **[変更の保存]** を選択します。

以上の手順では、CORS ポリシーの `AllowedMethods` に `"POST"` が表示されている必要があります。

上記手順によって、次が作成されます。
+ 各ユーザーに割り当てられた IAM ロール。
+ 各ユーザーの Amazon SageMaker Studio Classic のランタイム権限。SageMaker Canvas ではユーザーからのコマンドを Studio Classic を使用して実行します。
+ ユーザーがローカルマシンからファイルをアップロードする場合、Amazon S3 バケットにアタッチされた CORS ポリシー。

CORS ポリシーを更新してもユーザーがローカルファイルをアップロードできない場合、前回のアップロード試行の CORS 設定がブラウザにキャッシュされている可能性があります。問題が発生する場合は、ブラウザのキャッシュをクリアして再試行するようにユーザーに伝えます。

# ユーザー向けに SageMaker Canvas を設定する
<a name="setting-up-canvas-sso"></a>

Amazon SageMaker Canvas を設定するには、以下の操作を実行します。
+ Amazon SageMaker AI ドメインを作成する
+ ドメインのユーザープロファイルを作成する。
+ ユーザーの Okta Single Sign On (Okta SSO) を設定する。
+ モデルのリンク共有を有効にする。

Okta Single Sign On (Okta SSO) を使用して Amazon SageMaker Canvas へのアクセス権をユーザーに付与します。SageMaker Canvas は SAML 2.0 SSO メソッドをサポートしています。以下のセクションでは、Okta SSO の設定手順について説明します。

ドメインを設定するには、「[Amazon SageMaker AI のカスタムセットアップを使用する](onboard-custom.md)」を参照し、IAM 認証を使用してドメインを設定する手順に従います。以下は、このセクションの手順を実行する際に役立つ情報です。
+ プロジェクトの作成に関する手順は無視できます。
+ 追加の Amazon S3 バケットへのアクセス権を提供する必要はありません。ユーザーは、ロールの作成時に指定されたデフォルトのバケットを使用できます。
+ ユーザーにノートブックをデータサイエンティストと共有する権限を付与するには、**[ノートブックの共有設定]** を有効にします。
+ Amazon SageMaker Studio Classic バージョン 3.19.0 以降を使用します。Amazon SageMaker Studio Classic の更新については、「[Amazon SageMaker Studio Classic をシャットダウンして更新する](studio-tasks-update-studio.md)」を参照してください。

次の手順に従って、Okta を設定します。以下のすべての手順で、`IAM-role` に同じ IAM ロールを指定します。

## SageMaker Canvas アプリケーションを Okta に追加する
<a name="canvas-set-up-okta"></a>

Okta のサインオン方法を設定します。

1. Okta 管理ダッシュボードにサインインします。

1. **[アプリケーションの追加]** を選択します。**[AWS アカウントフェデレーション]** を検索します。

1. **[Add]** (追加) を選択します。

1. オプション: 名前を「**Amazon SageMaker Canvas**」に変更します。

1. [**次へ**] を選択します。

1. **[サインオン]** メソッドで、**[SAML 2.0]** を選択します。

1. **[ID プロバイダーメタデータ]** を選択して、メタデータ XML ファイルを開きます。ファイルをローカルに保存します。

1. **[完了]** を選択します。

## IAM に ID フェデレーションを設定する
<a name="set-up-id-federation-IAM"></a>

AWS Identity and Access Management (IAM) は、 AWS アカウントにアクセスするために使用する AWS サービスです。IAM アカウント AWS を通じて にアクセスできます。

1.  AWS コンソールにサインインします。

1. **[AWS Identity and Access Management (IAM)]** を選択します。

1. **[ID プロバイダー]** を選択します。

1. **[プロバイダーの作成]** を選択します。

1. **[プロバイダーの設定]** で、以下を指定します。
   + **プロバイダーのタイプ** - ドロップダウンリストから **[SAML]** を選択します。
   + **プロバイダー名** - **[Okta]** を指定します。
   + **[メタデータドキュメント]** - 「[SageMaker Canvas アプリケーションを Okta に追加する](#canvas-set-up-okta)」の手順 7 でローカルに保存した XML ドキュメントをアップロードします。

1. **[ID プロバイダー]** で ID プロバイダーを探します。その **[プロバイダー ARN]** 値をコピーします。

1. **[ロール]** で、Okta SSO アクセスに使用する IAM ロールを選択します。

1. IAM ロールの **[信頼関係]** で、**[信頼関係の編集]** を選択します。

1. コピーした **[プロバイダー ARN]** 値を指定して IAM の信頼関係ポリシーを変更し、以下のポリシーを追加します。

------
#### [ JSON ]

****  

   ```
     {
     "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:AssumeRoleWithSAML",
             "sts:TagSession"
           ],
           "Condition": {
             "StringEquals": {
               "SAML:aud": "https://signin.aws.amazon.com/saml"
             }
           }
         },
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:SetSourceIdentity"
           ]
         }
       ]
     }
   ```

------

1. **[許可]** に、以下のポリシーを追加します。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonSageMakerPresignedUrlPolicy",
              "Effect": "Allow",
              "Action": [
                   "sagemaker:CreatePresignedDomainUrl"
              ],
              "Resource": "*"
         }
     ]
   }
   ```

------

## Okta で SageMaker Canvas を設定する
<a name="canvas-configure-okta"></a>

以下の手順に従って、Okta で Amazon SageMaker Canvas を設定します。

Okta を使用するように Amazon SageMaker Canvas を設定するには、このセクションの手順に従います。各 **[SageMakerStudioProfileName]** フィールドに、固有のユーザー名を指定する必要があります。例えば、`user.login` を値として使用できます。ユーザー名が SageMaker Canvas プロファイル名と異なる場合は、一意に識別する別の属性を選択します。例えば、プロファイル名には従業員の ID 番号を使用できます。

**[属性]** に設定できる値の例については、後の手順のコードを参照してください。

1. **[ディレクトリ]** で、**[グループ]** を選択します。

1. `sagemaker#canvas#IAM-role#AWS-account-id` のパターンを使用してグループを追加します。

1. Okta で、**[AWS アカウントフェデレーション]** のアプリケーション統合設定を開きます。

1.  AWS アカウントフェデレーションアプリケーションの**サインオン**を選択します。

1. **[編集]** を選択し、以下を指定します。
   + SAML 2.0
   + **デフォルトのリレーステート** - https://*Region*.console.aws.amazon.com/sagemaker/home?region=*Region*\$1/studio/canvas/open/*StudioId* Studio Classic ID は、コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) で確認できます。

1. **[属性]** を選択します。

1. **[SageMakerStudioProfileName]** フィールドで、各ユーザー名に固有の値を指定します。ユーザー名は、 AWS コンソールで作成したユーザー名と一致する必要があります。

   ```
   Attribute 1:
   Name: https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerStudioUserProfileName 
   Value: ${user.login}
   
   Attribute 2:
   Name: https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
   Value: {"SageMakerStudioUserProfileName"}
   ```

1. **[環境タイプ]** を選択します。**[通常の AWS]** を選択します。
   + 環境タイプが一覧表示されていない場合は、**[ACS URL]** フィールドに ACS URL を設定できます。環境タイプが一覧表示されている場合は、ACS URL を入力する必要はありません。

1. **[ID プロバイダー ARN]** で、前の手順のステップ 6 で使用した ARN を指定します。

1. **[セッション期間]** を指定します。

1. **[すべてのロールを結合]** を選択します。

1. 以下のフィールドを指定して、**[グループマッピングを使用]** を有効にします。
   + **アプリフィルター** - `okta`
   + **グループフィルター** - `^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$`
   + **ロール値のパターン** - `arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role`

1. **[保存して次へ]** を選択します。

1. **[割り当て]** で、作成したグループにアプリケーションを割り当てます。

## IAM でアクセスコントロールにオプションのポリシーを追加する
<a name="canvas-optional-access"></a>

IAM では、ユーザープロファイルを作成する管理者ユーザーに以下のポリシーを適用できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateSageMakerStudioUserProfilePolicy",
            "Effect": "Allow",
            "Action": "sagemaker:CreateUserProfile",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "studiouserid"
                    ]
                }
            }
        }
    ]
}
```

------

前述のポリシーを管理ユーザーに追加する場合は、[IAM に ID フェデレーションを設定する](#set-up-id-federation-IAM) の以下のアクセス許可を使用する必要があります。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "AmazonSageMakerPresignedUrlPolicy",
           "Effect": "Allow",
           "Action": [
               "sagemaker:CreatePresignedDomainUrl"
           ],
           "Resource": "*",
           "Condition": {
                  "StringEquals": {
                      "sagemaker:ResourceTag/studiouserid": "${aws:PrincipalTag/SageMakerStudioUserProfileName}"
                 }
            }
      }
  ]
}
```

------

# Amazon S3 ストレージを設定にする
<a name="canvas-storage-configuration"></a>

SageMaker Canvas アプリケーションを設定する際、モデルアーティファクト、データセット、および他のアプリケーションデータのデフォルトのストレージロケーションは、Canvas によって作成される Amazon S3 バケットです。このデフォルトの Amazon S3 バケットは、`s3://sagemaker-{Region}-{your-account-id}` の命名パターンに従って名前が付けられ、Canvas アプリケーションと同じリージョンに存在します。ただし、ストレージロケーションをカスタマイズし、Canvas アプリケーションデータを保存する独自の Amazon S3 バケットを指定することもできます。以下のいずれかの理由で、アプリケーションデータの保存に独自の Amazon S3 バケットを使用する場合があります。
+ 組織に Amazon S3 バケットの内部命名規則がある。
+ モデルアーティファクトや他の Canvas データへのクロスアカウントアクセスを有効にする必要がある。
+ ユーザーを特定の Amazon S3 バケットやモデルアーティファクトに制限するなど、社内のセキュリティガイドラインを遵守する必要がある。
+  AWS コンソールや SageMaker Studio Classic とは無関係に、Canvas によって生成されたログの可視性とアクセスを強化する必要があります。

独自の Amazon S3 バケットを指定することで、ストレージのより細かい管理や組織のコンプライアンスの遵守が可能になります。

これを行うには、新しい SageMaker AI ドメインまたはユーザープロファイルを作成するか、既存のドメインまたはユーザープロファイルを更新します。ユーザープロファイル設定は、ドメインレベルの設定よりも優先されることに注意してください。例えば、ドメインレベルでデフォルトのバケット設定を使用しつつ、ユーザーごとにカスタム Amazon S3 バケットを指定することができます。ドメインまたはユーザープロファイルに独自の Amazon S3 バケットを指定すると、Canvas は入力 Amazon S3 URI の下に `Canvas/<UserProfileName>` というサブフォルダを作成し、Canvas アプリケーションで生成されるすべてのアーティファクトをこのサブフォルダに保存します。

**重要**  
既存のドメインまたはユーザープロファイルを更新すると、以前の場所の Canvas アーティファクトにアクセスできなくなります。ファイルは Amazon S3 の以前の保存場所にありますが、Canvas からは表示できなくなります。新しい設定は、次回アプリケーションにログインしたときに有効になります。

Amazon S3 バケットへのクロスアカウントアクセスの付与の詳細については、「Amazon S3 ユーザーガイド」の「[クロスアカウントオブジェクトのアクセス許可の付与](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html#access-policies-walkthrough-example4-overview)」を参照してください。**

以下のセクションでは、Canvas ストレージ設定でカスタム Amazon S3 バケットを指定する方法について説明します。新しい SageMaker AI ドメイン (またはドメイン内の新規ユーザー) を設定する場合は、[新しいドメインの設定方法](#canvas-storage-configuration-new-domain) または [新しいユーザープロファイルの設定方法](#canvas-storage-configuration-new-user) を使用します。既存の Canvas ユーザプロファイルがあり、そのプロファイルのストレージ設定を更新する場合は、[既存のユーザーの設定方法](#canvas-storage-configuration-existing-user) を使用します。

## [開始する前に]
<a name="canvas-storage-configuration-prereqs"></a>

別の AWS アカウントから Amazon S3 URI を指定する場合、または で暗号化されたバケットを使用している場合は AWS KMS、先に進む前にアクセス許可を設定する必要があります。Canvas がバケットとの間でオブジェクトをダウンロードおよびアップロードできるようにするには、 AWS IAM アクセス許可を付与する必要があります。必要な権限を付与する方法の詳細については、「[クロスアカウント Amazon S3 ストレージの権限の付与](canvas-permissions-cross-account.md)」を参照してください。

さらに、Canvas ストレージロケーションのトレーニングフォルダの最終的な Amazon S3 URI は 128 文字以下でなければなりません。最終的な Amazon S3 URI は、バケットパス (`s3://<your-bucket-name>/<folder-name>/`) と Canvas によってバケットに追加されるパス (`Canvas/<user-profile-name>/Training`) で構成されます。例えば、128 文字以下で使用可能なパスは `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training` です。

## 新しいドメインの設定方法
<a name="canvas-storage-configuration-new-domain"></a>

新しいドメインと Canvas アプリケーションを設定する場合は、このセクションを使用してドメインレベルでストレージロケーションを設定します。個々のユーザープロファイルに別のストレージロケーションを指定しない限り、この設定はドメインで作成したすべての新規ユーザーに適用されます。

ドメインの**標準設定**を行うときは、**[ステップ 3: アプリケーションを設定する - オプション]** ページの **[Canvas]** セクションで、次の手順に従います。

1. **[Canvas ストレージの設定]** で、次の操作を行います。

   1. `s3://sagemaker-{Region}-{your-account-id}` のパターンでデフォルトの SageMaker AI バケットに場所を設定する場合は、**[システムマネージド]** を選択します。

   1. 独自の Amazon S3 バケットをストレージロケーションとして指定するには、**[カスタム S3]** を選択します。次に、Amazon S3 URI を入力します。

   1. (オプション) **[暗号化キー]** で、指定した場所に保存されている Canvas アーティファクトを暗号化するための KMS キーを指定します。

1. ドメインの設定を完了して、**[送信]** を選択します。

これで、SageMaker Canvas アプリケーションのストレージに指定した Amazon S3 ロケーションを使用するようにドメインが設定されました。

## 新しいユーザープロファイルの設定方法
<a name="canvas-storage-configuration-new-user"></a>

ドメインに新しいユーザープロファイルを設定する場合は、このセクションを使用してユーザーのストレージロケーションを設定します。この設定は、ドメインレベルの設定よりも優先されます。

ドメインにユーザープロファイルを追加する場合は、**[ステップ 2: アプリケーションを設定する]** の **[Canvas]** セクションで、以下の手順に従います。

1. **[Canvas ストレージの設定]** で、次の操作を行います。

   1. `s3://sagemaker-{Region}-{your-account-id}` のパターンでデフォルトの SageMaker AI 作成バケットに場所を設定する場合は、**[システムマネージド]** を選択します。

   1. 独自の Amazon S3 バケットをストレージロケーションとして指定するには、**[カスタム S3]** を選択します。次に、Amazon S3 URI を入力します。

   1. (オプション) **[暗号化キー]** で、指定した場所に保存されている Canvas アーティファクトを暗号化するための KMS キーを指定します。

1. ユーザープロファイルの設定を完了して、**[送信]** を選択します。

これで、SageMaker Canvas アプリケーションストレージに指定した Amazon S3 ロケーションを使用するようにユーザープロファイルが設定されました。

## 既存のユーザーの設定方法
<a name="canvas-storage-configuration-existing-user"></a>

既存の Canvas ユーザープロファイルがあり、Amazon S3 のストレージロケーションを更新する場合は、SageMaker AI ドメインまたはユーザープロファイルの設定を編集します。この変更は、次回 Canvas アプリケーションにログインしたときに反映されます。

**注記**  
既存の Canvas アプリケーションのストレージロケーションを変更すると、以前のストレージロケーションにある Canvas アーティファクトにはアクセスできなくなります。アーティファクトは Amazon S3 の以前の保存場所にありますが、Canvas からは表示できなくなります。

ユーザープロファイル設定はドメインの全般設定よりも優先されるため、すべてのユーザーの Amazon S3 ストレージロケーションを変更することなく、特定のユーザープロファイルの Amazon S3 ストレージロケーションを更新できることを覚えておいてください。既存のドメインまたはユーザーのストレージ設定を更新するには、次の手順に従います。

------
#### [ Update an existing domain ]

ドメインのストレージ設定を更新するには、次の手順に従います。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. ドメインのリストで、ドメインを選択します。

1. **[ドメインの詳細]** ページで、**[アプリケーション設定]** タブを選択します。

1. **[Canvas]** セクションまで下にスクロールし、**[編集]** を選択します。

1. **[Canvas の設定を編集]** ページが開きます。**[Canvas ストレージの設定]** セクションで、次の操作を行います。

   1. `s3://sagemaker-{Region}-{your-account-id}` のパターンでデフォルトの SageMaker AI 作成バケットに場所を設定する場合は、**[システムマネージド]** を選択します。

   1. 独自の Amazon S3 バケットをストレージロケーションとして指定するには、**[カスタム S3]** を選択します。次に、Amazon S3 URI を入力します。

   1. (オプション) **[暗号化キー]** で、指定した場所に保存されている Canvas アーティファクトを暗号化するための KMS キーを指定します。

1. ドメインへの他のすべての変更を完了して、**[送信]** を選択し変更を保存します。

------
#### [ Update an existing user profile ]

ユーザープロファイルのストレージ設定を更新するには、次の手順に従います。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. **[ドメイン]** リストで、ドメインを選択します。

1. ドメインのユーザーのリストで、設定を編集するユーザーを選択します。

1. **[ユーザーの詳細]** ページで、**[編集]** を選択します。

1. ナビゲーションペインで、**[Canvas の設定]** を選択します。

1. **[Canvas ストレージの設定]** で、次の操作を行います。

   1. `s3://sagemaker-{Region}-{your-account-id}` のパターンでデフォルトの SageMaker AI バケットに場所を設定する場合は、**[システムマネージド]** を選択します。

   1. 独自の Amazon S3 バケットをストレージロケーションとして指定するには、**[カスタム S3]** を選択します。次に、Amazon S3 URI を入力します。

   1. (オプション) **[暗号化キー]** で、指定した場所に保存されている Canvas アーティファクトを暗号化するための KMS キーを指定します。

1. ユーザープロファイルへの他のすべての変更を完了して、**[送信]** を選択し変更を保存します。

------

これで、Canvas のユーザープロファイルのストレージロケーションが更新されました。次回 Canvas アプリケーションにログインすると、ストレージロケーションが更新されたことを示す通知が届きます。以前 Canvas で作成したアーティファクトにはアクセスできなくなります。Amazon S3 でこれらのファイルにアクセスすることはできますが、Canvas では表示できなくなります。

# クロスアカウント Amazon S3 ストレージの権限の付与
<a name="canvas-permissions-cross-account"></a>

ユーザーが SageMaker Canvas にアクセスできるように SageMaker AI ドメインまたはユーザープロファイルを設定するには、Canvas アーティファクト用の Amazon S3 ストレージロケーションを指定します。これらのアーティファクトには、入力データセット、モデルアーティファクト、予測、他のアプリケーションデータの保存済みコピーが含まれます。SageMaker AI が作成したデフォルトの Amazon S3 バケットを使用することも、ストレージロケーションをカスタマイズして Canvas アプリケーションデータを保存する独自のバケットを指定することもできます。

Canvas データを保存するために別の AWS アカウントで Amazon S3 バケットを指定できますが、まず、Canvas がバケットにアクセスできるようにクロスアカウントアクセス許可を付与する必要があります。

以下のセクションでは、別のアカウントの Amazon S3 バケットとの間で、オブジェクトをアップロードおよびダウンロードするための権限を Canvas に付与する方法について説明します。バケットが暗号化されている場合、 には追加のアクセス許可があります AWS KMS。

## 要件
<a name="canvas-permissions-cross-account-prereqs"></a>

開始する前に、以下の要件を満たしていることを確認します。
+ クロスアカウント Amazon S3 バケット (および関連する AWS KMS キー) は、Canvas ユーザードメインまたはユーザープロファイルと同じ AWS リージョンに存在する必要があります。
+ Canvas ストレージロケーションのトレーニングフォルダの Amazon S3 URI は 128 文字以下でなければなりません。最終的な S3 URI は、バケットパス (`s3://<your-bucket-name>/<folder-name>/`) と Canvas によってバケットに追加されるパス (`Canvas/<user-profile-name>/Training`) で構成されます。例えば、128 文字以下で使用可能なパスは `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training` です。

## Amazon S3 バケットのクロスアカウント権限
<a name="canvas-permissions-cross-account-s3"></a>

次のセクションでは、Canvas が別のアカウントの Amazon S3 バケットにアクセスするために必要な権限を付与するための基本的な手順の概要を説明します。詳細な手順については、「Amazon S3 ユーザーガイド」の「[例 2: バケット所有者がクロスアカウントのバケットのアクセス許可を付与する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)」を参照してください。**

1. Amazon S3 バケット (`bucketA`) をアカウント A に作成します。

1. Canvas ユーザーはアカウント B という別のアカウントを使用しています。次の手順では、Canvas ユーザーの IAM ロールをアカウント B の `roleB` とします。

   IAM ポリシーをアタッチして、アカウント A の `bucketA` のオブジェクトのダウンロード (`GetObject`)/アップロード (`PutObject`) 権限をアカウント B のIAM ロール `roleB` に付与します。

   特定のバケットフォルダへのアクセスを制限するには、リソース要素でフォルダ名 (`arn:aws:s3:::<bucketA>/FolderName/*` など) を定義します。詳細については、「[How can I use IAM policies to grant user-specific access to specific folders?](https://aws.amazon.com/premiumsupport/knowledge-center/iam-s3-user-specific-folder/)」を参照してください。
**注記**  
`GetBucketCors` や `GetBucketLocation` などのバケットレベルのアクションは、フォルダではなくバケットレベルのリソースに追加する必要があります。

   次の IAM ポリシーの例では、`bucketA` 内のオブジェクトにアクセスするために必要な権限を `roleB` に付与しています。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           }
       ]
   }
   ```

------

1. アカウント A の `roleB` のバケットポリシーを設定して、アカウント B の IAM ロール `bucketA` に権限を付与します。
**注記**  
また、管理者はバケットの **[権限]** セクションで、**[すべてのパブリックアクセスをブロック]** を無効にする必要があります。

   次の例は、必要な権限を `roleB` に付与する `bucketA` のバケットポリシーを示しています。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

上記の権限を設定すると、アカウント B の Canvas ユーザープロファイルは、アカウント A の Amazon S3 バケットを Canvas アーティファクトのストレージロケーションとして使用できるようになります。

## で暗号化されたクロスアカウント Amazon S3 バケットのアクセス許可 AWS KMS
<a name="canvas-permissions-cross-account-s3-kms"></a>

次の手順では、Canvas が暗号化されている別のアカウントの Amazon S3 バケットにアクセスできるように、必要なアクセス許可を付与する方法を示します AWS KMS。この手順は前の手順と似ていますが、別の権限が追加されています。クロスアカウント KMS キーアクセス権限の付与の詳細については、「*AWS KMS Developer Guide*」の「[Allowing users in other accounts to use a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)」を参照してください。

1. アカウント A に Amazon S3 バケット `bucketA` と Amazon S3 KMS キー `s3KmsInAccountA` を作成します。

1. Canvas ユーザーはアカウント B という別のアカウントを使用しています。次の手順では、Canvas ユーザーの IAM ロールをアカウント B の `roleB` とします。

   アカウント B の IAM ロール `roleB` に、次の権限を付与します。
   + アカウント A の `bucketA` との間でオブジェクトをダウンロード (`GetObject`) およびアップロード (`PutObject`) する。
   + アカウント A `s3KmsInAccountA`の AWS KMS キーにアクセスします。

   次の IAM ポリシーの例では、`bucketA` 内のオブジェクトにアクセスし、KMS キー `s3KmsInAccountA` を使用するために必要な権限を `roleB` に付与しています。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           },
           {
               "Action": [
                   "kms:DescribeKey",
                   "kms:CreateGrant",
                   "kms:RetireGrant",
                   "kms:GenerateDataKey",
                   "kms:GenerateDataKeyWithoutPlainText",
                   "kms:Decrypt"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/s3KmsInAccountA"
           }
       ]
   }
   ```

------

1. アカウント A の `bucketA` のバケットポリシーと `s3KmsInAccountA` のキーポリシーを設定して、アカウント B の IAM ロール `roleB` に権限を付与します。

   次の例は、必要な権限を `roleB` に付与する `bucketA` のバケットポリシーを示しています。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

   次の例は、`roleB` にアクセス権限を付与するために、アカウント A の KMS キー `s3KmsInAccountA` にアタッチするキーポリシーを示しています。キーポリシーステートメントの作成およびアタッチ方法の詳細については、「*AWS KMS Developer Guide*」の「[Creating a key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)」を参照してください。

   ```
   {
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
       "AWS": [
         "arn:aws:iam::accountB:role/roleB"
       ]
     },
     "Action": [
           "kms:DescribeKey",
           "kms:CreateGrant",
           "kms:RetireGrant",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlainText",
           "kms:Decrypt"
     ],
     "Resource": "*"
   }
   ```

上記の権限を設定すると、アカウント B の Canvas ユーザープロファイルは、アカウント A の暗号化された Amazon S3 バケットを Canvas アーティファクトのストレージロケーションとして使用できるようになります。

# ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する
<a name="canvas-large-data-permissions"></a>

CSV 形式の 10 GB を超えるデータセットまたは Parquet 形式の 2.5 GB を超えるデータセットを使用する Amazon SageMaker Canvas ユーザーは、大規模なデータ処理に対して特定の権限が必要です。これらの権限は、機械学習ライフサイクル全体を通じて大規模なデータを管理するために不可欠です。指定されたしきい値またはアプリケーションのローカルメモリ容量をデータセットが超えると、SageMaker Canvas は Amazon EMR Serverless を使用して効率的な処理を行います。これは、以下に適用されます。
+ データインポート: ランダムサンプリングまたは階層サンプリングによって大規模なデータセットをインポートします。
+ データ準備: Canvas の Data Wrangler から Amazon S3、新しい Canvas データセット、または Canvas モデルに処理済みデータをエクスポートします。
+ モデル構築: 大規模なデータセットでモデルをトレーニングします。
+ 推論: 大規模なデータセットで予測を行います。

デフォルトでは、SageMaker Canvas は EMR サーバーレスを使用して、次のアプリケーション設定でこれらのリモートジョブを実行します。
+ 初期化前の容量: 設定なし
+ アプリケーション制限: 最大容量 400 vCPU、アカウントあたり最大同時 16 vCPU、3,000 GB メモリ、20,000 GB ディスク
+ メタストア設定: AWS Glue Data Catalog
+ アプリケーションログ: AWS 所有の暗号化キーを使用した AWS マネージドストレージ (有効)
+ アプリケーション動作: ジョブの送信時に自動起動し、アプリケーションが 15 分間アイドル状態になった後に自動停止

これらの大規模データ処理機能を有効にするには、ユーザーに必要なアクセス許可が必要です。アクセス許可は、Amazon SageMaker AI ドメイン設定を介して付与できます。これらのアクセス許可を付与する方法は、Amazon SageMaker AI ドメインの初期設定方法によって異なります。ここでは次の 3 つの主なシナリオについて説明します。
+ クイックドメイン設定
+ カスタムドメイン設定 (パブリックインターネットアクセスあり/VPC なし)
+ カスタムドメイン設定 (VPC あり、パブリックインターネットアクセスなし)

各シナリオでは、SageMaker Canvas の機械学習ライフサイクル全体にわたる大規模なデータ処理に EMR サーバーレスを活用する上で必要な権限をユーザーに付与するにあたって、特定の手順が必要になります。

## シナリオ 1: クイックドメイン設定
<a name="canvas-large-data-quick-setup"></a>

SageMaker AI ドメインの作成時に**高速セットアップ**オプションを使用した場合は、以下の手順に従います。

1. Amazon SageMaker AI ドメインの設定に移動します。

   1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

   1. 左側のナビゲーションペインで **[ドメイン]** を選択します。

   1. ドメインを検索します。

   1. **[アプリケーション設定]** タブを選択します。

   1. **[Canvas]** セクションまでスクロールし、**[編集]** を選択します。

1. 大規模なデータ処理を有効にします。

   1. **[大容量データ処理設定]** セクションで、**[大容量データ処理用 EMR サーバーレスを有効にする]** をオンにします。

   1. EMR サーバーレスロールを作成または選択します。

      1. **[新しい実行ロールの作成および使用]** を選択して、EMR サーバーレスおよびアタッチされた [AWS マネージドポリシー: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) ポリシーとの信頼関係を持つ新しい IAM ロールを作成します。この IAM ロールは、EMR サーバーレスジョブを作成するために Canvas によって引き受けられます。

      1. または、EMR サーバーレスの信頼関係を持つ実行ロールが既に存在する場合は、**[既存の実行ロールを使用]** を選択し、ドロップダウンからロールを選択します。
         + 既存のロールには、`AmazonSageMakerCanvasEMRSExecutionAccess-` のプレフィックスで始まる名前が必要です。
         + 選択したロールにも、少なくとも [AWS マネージドポリシー: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) ポリシーに記述されている権限が必要です。
         + ロールには、次に示すように EMR サーバーレス信頼ポリシーが必要です。

------
#### [ JSON ]

****  

           ```
           {
               "Version":"2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Sid": "EMRServerlessTrustPolicy",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "emr-serverless.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole",
                       "Condition": {
                           "StringEquals": {
                               "aws:SourceAccount": "111122223333"
                           }
                       }
                   }
               ]
           }
           ```

------

1. (オプション) カスタム Amazon S3 バケットに Amazon S3 権限を追加します。

   1. Canvas 管理ポリシーは、名前に `sagemaker` または `SageMaker AI` を含む Amazon S3 バケットに対して読み取りおよび書き込み権限を自動的に付与します。また、`"SageMaker": "true"` タグを含むカスタム Amazon S3 バケット内のオブジェクトに対しても読み取り権限を付与します。

   1. 必要なタグのないカスタム Amazon S3 バケットの場合は、EMR サーバーレスロールに次のポリシーを追加します。

   1. 

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:DeleteObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              }
          ]
      }
      ```

------

   1. 権限の範囲は、Canvas がアクセスする特定の Amazon S3 バケットに制限することをお勧めします。

1. 変更を保存し、SageMaker Canvas アプリケーションを再起動します。

## シナリオ 2: カスタムドメイン設定 (パブリックインターネットアクセスあり/VPC なし)
<a name="canvas-large-data-custom-no-vpc"></a>

カスタムドメインを作成したか、使用する場合は、シナリオ 1 のステップ 1 ～ 3 に従った後に、以下の追加手順を実行します。

1. Canvas はデータの準備とモデルのトレーニングにパブリック Amazon ECR Docker イメージを利用するため、以下のとおり、Amazon SageMaker AI 実行ロールに Amazon ECR `DescribeImages` オペレーションのアクセス許可を追加します。

   1.  AWS コンソールにサインインし、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

   1. **[ロール]** を選択します。

   1. 検索ボックスで、SageMaker AI 実行ロールを名前で検索して選択します。

   1. この SageMaker AI 実行ロールに次のポリシーを追加します。これは、新しいインラインポリシーとして追加するか、ポリシーステートメントを既存のポリシーに追加することで実行できます。IAM ロールには、最大 10 個のポリシーをアタッチできます。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Sid": "ECRDescribeImagesOperation",
              "Effect": "Allow",
              "Action": "ecr:DescribeImages",
              "Resource": [
                  "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container",
                  "arn:aws:ecr:*:*:repository/ap-dataprep-emr"
              ]
          }]
      }
      ```

------

1. 変更を保存し、SageMaker Canvas アプリケーションを再起動します。

## シナリオ 3: カスタムドメイン設定 (VPC あり、パブリックインターネットアクセスなし)
<a name="canvas-large-data-custom-vpc"></a>

カスタムドメインを作成したか、使用する場合は、シナリオ 2 のすべての手順に従った後に、以下の追加手順に従います。

1. VPC サブネットがプライベートであることを確認します。

   1. サブネットのルートテーブルにインターネットゲートウェイへのエントリマッピング `0.0.0.0/0` がないことを確認します。

1. ネットワークインターフェイスを作成するための権限を追加します。

   1. 大規模なデータ処理に SageMaker Canvas と EMR サーバーレスを使用する場合は、EMR サーバーレスアプリケーションと VPC リソース間のネットワーク通信を有効化するにあたって Amazon EC2 ENI を作成する機能が EMR サーバーレスに必要です。

   1. この Amazon SageMaker 実行ロールに次のポリシーを追加します。これは、新しいインラインポリシーとして追加するか、ポリシーステートメントを既存のポリシーに追加することで実行できます。IAM ロールには、最大 10 個のポリシーをアタッチできます。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowEC2ENICreation",
                  "Effect": "Allow",
                  "Action": [
                      "ec2:CreateNetworkInterface"
                  ],
                  "Resource": [
                      "arn:aws:ec2:*:*:network-interface/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com"
                      }
                  }
              }
          ]
      }
      ```

------

1. (オプション) ENI の作成を特定のサブネットに制限します。

   1. ENI の作成を VPC 内の特定のサブネットに制限することで設定をさらに保護するには、各サブネットに特定の条件をタグ付けできます。

   1. 次の IAM ポリシーを使用して、EMR サーバーレスアプリケーションが、許可されたサブネットとセキュリティグループ内でのみ Amazon EC2 ENI を作成できるようにします。

      ```
      {
          "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
          "Effect": "Allow", 
          "Action": [
              "ec2:CreateNetworkInterface"
          ],
          "Resource": [
              "arn:aws:ec2:*:*:subnet/*",
              "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
              "StringEquals": {
                  "aws:ResourceTag/KEY": "VALUE"
              }
          }
      }
      ```

1. ページの手順に従って [インターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する](canvas-vpc.md) Amazon S3 の VPC エンドポイントを設定します。これは、EMR Serverless および SageMaker Canvas で使用されるその他の AWS サービスで必要です。

1. 変更を保存し、SageMaker Canvas アプリケーションを再起動します。

これらの手順に従うことで、カスタム VPC 設定を含むさまざまなドメイン設定に対して SageMaker Canvas で大規模なデータ処理を有効にすることができます。これらの変更を行って新しい権限を適用した後は、必ず SageMaker Canvas アプリケーションを再起動してください。

# で SageMaker Canvas データを暗号化する AWS KMS
<a name="canvas-kms"></a>

Amazon SageMaker Canvas を使用する際、会社の個人情報や顧客データなどを暗号化する場合があります。SageMaker Canvas は AWS Key Management Service 、 を使用してデータを保護します。 AWS KMS は、データを暗号化するための暗号化キーを作成および管理するために使用できるサービスです。詳細については AWS KMS、「 *AWS KMS デベロッパーガイド*[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」の「」を参照してください。

Amazon SageMaker Canvas は、データを暗号化するための複数のオプションを備えています。SageMaker Canvas は、モデルの構築やインサイトの生成などのタスクをアプリケーション内でデフォルトで暗号化します。Amazon S3 に保存されているデータを暗号化して、保管中のデータを保護することもできます。SageMaker Canvas は暗号化されたデータセットのインポートをサポートしているため、暗号化されたワークフローを確立できます。以下のセクションでは、 AWS KMS 暗号化を使用して SageMaker Canvas でモデルを構築しながらデータを保護する方法について説明します。

## SageMaker Canvas のデータを暗号化する
<a name="canvas-kms-app-data"></a>

SageMaker Canvas では、2 つの異なる AWS KMS 暗号化キーを使用して SageMaker Canvas でデータを暗号化できます。この暗号化キーは、標準[ドメイン設定](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)を使用してドメインを設定するときに指定できます。これらのキーは、次のドメイン設定手順で指定します。
+ **ステップ 3: アプリケーションを設定する - (オプション)** – **[Canvas ストレージの設定]** セクションを設定するときは、**暗号化キー**を指定できます。これは、SageMaker Canvas がモデルオブジェクトとデータセットの長期保存に使用する KMS キーで、ドメイン用に提供された Amazon S3 バケットに保存されます。[CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API を使用して Canvas アプリケーションを作成する場合は、`S3KMSKeyId`フィールドを使用してこのキーを指定します。
+ **ステップ 6: ストレージを設定する** – SageMaker Canvas は、一時的なアプリケーションストレージ、視覚化、コンピューティングジョブ (モデルの構築など) を含む、Canvas アプリケーション用に作成された Amazon SageMaker Studio プライベートスペースを暗号化するために 1 つのキーを使用します。デフォルトの AWS マネージドキーを使用するか、独自のマネージドキーを指定できます。 AWS KMS キーを指定すると、`/home/sagemaker-user`ディレクトリに保存されているデータはキーで暗号化されます。 AWS KMS キーを指定しない場合、 内のデータは AWS マネージドキーで暗号化`/home/sagemaker-user`されます。 AWS KMS キーを指定するかどうかにかかわらず、作業ディレクトリ外のすべてのデータは AWS マネージドキーで暗号化されます。Studio スペースと Canvas アプリケーションストレージの詳細については、「[SageMaker Canvas アプリケーションデータを独自の SageMaker AI スペースに保存する](canvas-spaces-setup.md)」を参照してください。[CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API を使用して Canvas アプリケーションを作成する場合は、`KmsKeyID`フィールドを使用してこのキーを指定します。

上記のキーは、同じ KMS キーにすることも、異なる KMS キーにすることもできます。

### 前提条件
<a name="canvas-kms-app-data-prereqs"></a>

上記いずれかの目的で独自の KMS キーを使用するには、まずユーザーの IAM ロールにキーを使用する権限を付与する必要があります。その後、ドメインの設定時に KMS キーを指定できます。

キーを使用する権限をロールに付与する最も簡単な方法は、キーポリシーを変更することです。必要な権限をロールに付与するには、次の手順に従います。

1. [AWS KMS コンソール](https://console.aws.amazon.com/kms/) を開きます。

1. [**Key Policy (キーポリシー)**] セクションで、[**Switch to policy view (ポリシービューへの切り替え)**] を選択します。

1. キーのポリシーを変更して、IAM ロールに `kms:GenerateDataKey` および `kms:Decrypt` アクションの権限を付与します。さらに、Studio スペースで Canvas アプリケーションストレージを暗号化するキーポリシーを変更する場合は、`kms:CreateGrant` アクションを付与します。次のようなステートメントを追加できます。

   ```
   {
     "Sid": "ExampleStmt",
     "Action": [
       "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Effect": "Allow",
     "Principal": {
       "AWS": "<arn:aws:iam::111122223333:role/Jane>"
     },
     "Resource": "*"
   }
   ```

1. **[Save changes]** (変更の保存) をクリックします。

ユーザーの IAM ロールを変更して KMS キーを使用または管理する権限をユーザーに付与することもできますが、この方法はあまり推奨されません。この方法を使用する場合は、KMS キーポリシーで IAM によるアクセス管理も許可する必要があります。ユーザーの IAM ロールを通じて KMS キーに権限を付与する方法については、「*AWS KMS Developer Guide*」の「[Specifying KMS keys in IAM policy statements](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)」を参照してください。

### SageMaker Canvas アプリケーションのデータを暗号化する
<a name="canvas-kms-app-data-app"></a>

SageMaker Canvas で使用できる 1 つ目の KMS キーは、Amazon Elastic Block Store (Amazon EBS) ボリュームと、SageMaker AI がドメインに作成する Amazon Elastic File System に保存されているアプリケーションデータを暗号化するために使用します。SageMaker Canvas は、コンピューティングインスタンスを使用してモデルを構築し、インサイトを生成する際に作成される基盤となるアプリケーションおよび一時ストレージシステム内のデータをこのキーを使用して暗号化します。SageMaker Canvas は、SageMaker Canvas がデータを処理するジョブを開始するたびに、Autopilot などの他の AWS サービスにキーを渡します。

このキーは `CreateDomain` API コールの `KmsKeyID` で設定するか、コンソールで標準ドメイン設定を行うときに指定できます。独自の KMS キーを指定しない場合、SageMaker AI はデフォルトの AWS マネージド KMS キーを使用して SageMaker Canvas アプリケーションのデータを暗号化します。

コンソールから SageMaker Canvas アプリケーションで使用する独自の KMS キーを指定するには、まず**標準セットアップ**を使用して Amazon SageMaker AI ドメインを設定します。次の手順に従って、ドメインの**[ネットワークとストレージのセクション]** を設定します。

1. 使用する Amazon VPC 設定を入力します。

1. **[暗号化キー]** で、**[KMS キー ARN を入力]** を選択します。

1. **[KMS ARN]** に、`arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd` のような形式で KMS キーの ARN を入力します。

### Amazon S3 に保存された SageMaker Canvas データを暗号化する
<a name="canvas-kms-app-data-s3"></a>

指定できる 2 つ目の KMS キーは、SageMaker Canvas が Amazon S3 に保存するデータに使用されます。この KMS キーは、`CreateDomain` API コールの `S3KMSKeyId` フィールドで設定するか、SageMaker AI コンソールで標準ドメインを設定するときに指定できます。SageMaker Canvas は、入力データセット、アプリケーションデータ、モデルデータ、および出力データの複製を、アカウントのリージョンのデフォルトの SageMaker AI の S3 バケットに保存します。このバケットの命名パターンは `s3://sagemaker-{Region}-{your-account-id}` で、SageMaker Canvas はデータを `Canvas/` フォルダに保存します。





1. **[ノートブックリソース共有の有効化]** を有効にします。

1. **[共有可能なノートブックリソースの S3 ロケーション]** は、デフォルトの Amazon S3 パスのままにします。SageMaker Canvas はこの Amazon S3 パスを使用しないことに注意してください。この Amazon S3 パスは Studio Classic ノートブックに使用されます。

1. **[暗号化キー]** で、**[KMS キー ARN を入力]** を選択します。

1. **[KMS ARN]** に、`arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd` のような形式で KMS キーの ARN を入力します。

## Amazon S3 から暗号化されたデータセットをインポートする
<a name="canvas-kms-datasets"></a>

ユーザーには、KMS キーで暗号化されたデータセットがある場合があります。前のセクションでは、SageMaker Canvas のデータと Amazon S3 に保存されているデータを暗号化する方法を示していますが、既に暗号化されている Amazon S3 からデータをインポートする場合は、ユーザーの IAM ロールに追加のアクセス許可を付与する必要があります AWS KMS。

暗号化されたデータセットを Amazon S3 から SageMaker Canvas にインポートする権限をユーザーに付与するには、ユーザープロファイルに使用した IAM 実行ロールに次の権限を追加します。

```
      "kms:Decrypt",
      "kms:GenerateDataKey"
```

ロールの IAM 権限の編集方法については、「IAM ユーザーガイド」の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。**KMS キーの詳細については、「*AWS KMS Developer Guide*」の「[Key policies in AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)」を参照してください。

## よくある質問
<a name="canvas-kms-faqs"></a>

SageMaker Canvas の AWS KMS サポートについてのよくある質問と回答を以下に示します。

### Q: SageMaker Canvas では KMS キーは保持されますか?
<a name="canvas-kms-faqs-1"></a>

A: いいえ。SageMaker Canvas は一時的にキーをキャッシュしたり、他の AWS サービス (Autopilot など) に渡したりすることがありますが、SageMaker Canvas は KMS キーを保持しません。

### Q: ドメインの設定時に KMS キーを指定しました。データセットが SageMaker Canvas にインポートされなかったのはなぜですか?
<a name="canvas-kms-faqs-2"></a>

A: ユーザーの IAM ロールには、その KMS キーを使用する権限がない可能性があります。ユーザーに権限を付与する方法については、「[前提条件](#canvas-kms-app-data-prereqs)」を参照してください。またこのエラーは、ドメインで指定した KMS キーと一致しない特定の KMS キーの使用を要求する Amazon S3 バケット上のバケットポリシーによっても発生します。Amazon S3 バケットとドメインに同じ KMS キーを指定してください。

### Q: 自分自身のアカウントのリージョンのデフォルト SageMaker AI Amazon S3 バケットを確認するにはどうすればよいですか。
<a name="canvas-kms-faqs-3"></a>

A: デフォルトの Amazon S3 バケットの命名パターンは `s3://sagemaker-{Region}-{your-account-id}` に従います。SageMaker Canvas アプリケーションデータは、このバケットの `Canvas/` フォルダに保存されます。

### Q: SageMaker Canvas データの保存に使用されるデフォルトの SageMaker AI Amazon S3 バケットは変更できますか。
<a name="canvas-kms-faqs-4"></a>

A: いいえ、このバケットは SageMaker AI によって作成されます。

### Q: SageMaker Canvas がデフォルトの SageMaker AI の Amazon S3 バケットに保存するのは何ですか。
<a name="canvas-kms-faqs-5"></a>

A: SageMaker Canvas はデフォルトの SageMaker AI の Amazon S3 バケットを使用して、入力データセット、モデルアーティファクト、およびモデル出力の複製を保存します。

### Q: SageMaker Canvas で KMS キーを使用する場合はどのようなユースケースがサポートされていますか?
<a name="canvas-kms-faqs-6"></a>

A: SageMaker Canvas では、回帰、二項分類、多クラス分類、時系列予測モデル AWS KMS の構築やモデルでのバッチ推論に、 で独自の暗号化キーを使用できます。

# SageMaker Canvas アプリケーションデータを独自の SageMaker AI スペースに保存する
<a name="canvas-spaces-setup"></a>

インポートするデータセットやモデルアーティファクトなどの Amazon SageMaker Canvas アプリケーションデータは、*Amazon SageMaker Studio プライベートスペース*に保存されます。スペースは、ユーザープロファイルごとに 100 GB のストレージを持つアプリケーションデータのストレージボリューム、スペースのタイプ (この場合は Canvas アプリケーション)、アプリケーションのコンテナのイメージで構成されます。Canvas をセットアップして初めてアプリケーションを起動すると、SageMaker AI はユーザープロファイルを割り当て、Canvas データを保存するデフォルトのプライベートスペースを作成します。SageMaker AI は、ユーザーに代わってスペースを自動的に作成するため、スペースを確保するために追加の設定を行う必要はありません。ただし、デフォルトのスペースを使用しない場合は、自分で作成したスペースを指定できます。これは、データを分離する場合に役立ちます。次のページでは、Canvas アプリケーションデータを保存するための独自の Studio スペースを作成して設定する方法を示します。

**注記**  
カスタム Studio スペースを設定できるのは、新しい Canvas アプリケーションに対してのみです。既存の Canvas アプリケーションのスペース設定を変更することはできません。

## [開始する前に]
<a name="canvas-spaces-setup-prereqs"></a>

SageMaker Canvas アプリケーションを作成して使用するには、Amazon SageMaker AI ドメインまたはユーザープロファイルに 100 GB 以上のストレージが必要です。

SageMaker AI コンソールを使用してドメインを作成した場合には、十分なストレージがデフォルトでプロビジョンされるため、追加のアクションは必要はありません。[CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) または [ CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API を使用してドメインまたはユーザープロファイルを作成した場合は、`MaximumEbsVolumeSizeInGb` 値を 100 GB 以上に設定してください。より大きなストレージ値を設定するには、新しいドメインまたはユーザープロファイルを作成するか、[UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) または [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) API を使用して既存のドメインまたはユーザープロファイルを更新できます。

## 新しいスペースを作成する
<a name="canvas-spaces-setup-new-space"></a>

まず、Canvas アプリケーションデータを保存するように設定された新しい Studio スペースを作成します。これは、次のステップで新しい Canvas アプリケーションを作成するときに指定するスペースです。

スペースを作成するには、 AWS SDK for Python (Boto3) または を使用できます AWS CLI。

------
#### [ SDK for Python (Boto3) ]

次の例は、 メソッドを使用して AWS SDK for Python (Boto3) `create_space`、Canvas アプリケーションに使用できるスペースを作成する方法を示しています。必ず次のパラメータを指定してください。
+ `DomainId`: SageMaker AI ドメインの ID を指定します。ID を検索するには、SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動し、**[ドメイン]** セクションでドメインを探します。
+ `SpaceName`: 新しいスペースの名前を指定します。
+ `EbsVolumeSizeinGb`: スペースのストレージボリュームサイズを指定します (GB 単位)。最小値は `5` で、最大値は `16384` です。
+ `SharingType`: このフィールドは `Private` として指定します。詳細については、「[Amazon SageMaker Studio のスペース](studio-updated-spaces.md)」を参照してください。
+ `OwnerUserProfileName`: ユーザープロファイル名を指定します。ドメインに関連付けられているユーザープロファイル名を探すには、SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動し、**[ドメイン]** セクションでドメインを探します。ドメインの設定では、ユーザープロファイルを表示できます。
+ `AppType`: このフィールドは `Canvas` として指定します。

```
response = client.create_space(
    DomainId='<your-domain-id>', 
    SpaceName='<your-new-space-name>',
    SpaceSettings={
        'AppType': 'Canvas',
        'SpaceStorageSettings': {
            'EbsStorageSettings': {
                'EbsVolumeSizeInGb': <storage-volume-size>
            }
        },
    },
    OwnershipSettings={
        'OwnerUserProfileName': '<your-user-profile>'
    },
    SpaceSharingSettings={
        'SharingType': 'Private'
    }  
)
```

------
#### [ AWS CLI ]

次の例は、 メソッドを使用して AWS CLI `create-space`、Canvas アプリケーションに使用できるスペースを作成する方法を示しています。必ず次のパラメータを指定してください。
+ `domain-id`: ドメインの ID を指定します。ID を検索するには、SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動し、**[ドメイン]** セクションでドメインを探します。
+ `space-name`: 新しいスペースの名前を指定します。
+ `EbsVolumeSizeinGb`: スペースのストレージボリュームサイズを指定します (GB 単位)。最小値は `5` で、最大値は `16384` です。
+ `SharingType`: このフィールドは `Private` として指定します。詳細については、「[Amazon SageMaker Studio のスペース](studio-updated-spaces.md)」を参照してください。
+ `OwnerUserProfileName`: ユーザープロファイル名を指定します。ドメインに関連付けられているユーザープロファイル名を探すには、SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動し、**[ドメイン]** セクションでドメインを探します。ドメインの設定では、ユーザープロファイルを表示できます。
+ `AppType`: このフィールドは `Canvas` として指定します。

```
  
create-space
--domain-id <your-domain-id>
--space-name <your-new-space-name>  
--space-settings '{
        "AppType": "Canvas", 
        "SpaceStorageSettings": {
            "EbsStorageSettings": {"EbsVolumeSizeInGb": <storage-volume-size>}
        },
     }'
--ownership-settings '{"OwnerUserProfileName": "<your-user-profile>"}'
--space-sharing-settings '{"SharingType": "Private"}'
```

------

これでスペースが確保されます。次のステップでは、スペースの名前を追跡します。

## 新しい Canvas アプリケーションを作成する
<a name="canvas-spaces-setup-new-app"></a>

スペースを作成したら、そのスペースをストレージロケーションとして指定する新しい Canvas アプリケーションを作成します。

新しい Canvas アプリケーションを作成するには、 AWS SDK for Python (Boto3) または を使用できます AWS CLI。

**重要**  
Canvas アプリケーションを作成するには AWS CLI 、 AWS SDK for Python (Boto3) または を使用する必要があります。SageMaker AI コンソールを介して Canvas アプリケーションを作成する際にカスタムスペースを指定することはサポートされていません。

------
#### [ SDK for Python (Boto3) ]

次の例は、 メソッドを使用して AWS SDK for Python (Boto3) `create_app`新しい Canvas アプリケーションを作成する方法を示しています。必ず次のパラメータを指定してください。
+ `DomainId`: SageMaker AI ドメインの ID を指定します。
+ `SpaceName`: 前のステップで作成したスペースの名前を指定します。
+ `AppType`: このフィールドは `Canvas` として指定します。
+ `AppName`: アプリ名として`default`を指定します。

```
response = client.create_app(  
    DomainId='<your-domain-id>',
    SpaceName='<your-space-name>',
    AppType='Canvas', 
    AppName='default'  
)
```

------
#### [ AWS CLI ]

次の例は、 `create-app`メソッドを使用して AWS CLI 新しい Canvas アプリケーションを作成する方法を示しています。必ず次のパラメータを指定してください。
+ `DomainId`: SageMaker AI ドメインの ID を指定します。
+ `SpaceName`: 前のステップで作成したスペースの名前を指定します。
+ `AppType`: このフィールドは `Canvas` として指定します。
+ `AppName`: アプリ名として`default`を指定します。

```
create-app
--domain-id <your-domain-id>
--space-name <your-space-name>
--app-type Canvas
--app-name default
```

------

これで、アプリケーションデータのストレージロケーションとしてカスタム Studio スペースを使用する新しい Canvas アプリケーションが完成しました。

**重要**  
Canvas アプリケーションを削除 (またはログアウト) して、アプリケーションを再作成する必要がある場合は、`SpaceName` フィールドにスペースを指定して、Canvas でこのスペースを使用する必要があります。

スペースは、スペース設定で指定したユーザープロファイルにアタッチされます。Canvas アプリケーションはスペースを削除せずに削除でき、そのスペースに保存されているデータは残ります。スペースに保存されているデータは、ユーザープロファイルを削除するか、スペースを直接削除した場合にのみ削除されます。

# カスタマイズされた画像予測モデルおよびテキスト予測モデルを構築する権限を自分に付与する
<a name="canvas-set-up-cv-nlp"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

Amazon SageMaker Canvas では、特定のビジネスニーズを満たす[カスタムモデル](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)を構築できます。カスタムモデルタイプには、シングルラベル画像予測とマルチカテゴリテキスト予測の 2 種類があります。これらのモデルタイプを構築するためのアクセス許可は、[AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) と呼ばれる AWS Identity and Access Management (IAM)ポリシーに含まれています。[Canvas ベースのアクセス許可をオン](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)のままにしておくと、SageMaker AI はデフォルトでこのポリシーをユーザーの IAM 実行ロールにアタッチします。カスタム IAM 設定を使用している場合は、ユーザーの IAM 実行ロールに権限を明示的に追加して、ユーザーがカスタム画像予測モデルタイプとカスタムテキスト予測モデルタイプを構築できるようにする必要があります。画像予測モデルとテキスト予測モデルを構築するために必要な権限を付与するには、以下のセクションを読んで、最小権限ポリシーをロールに適用する方法を確認してください。

ユーザーの IAM ロールに権限を追加するには、次の手順に従います。

1. [IAM コンソール](https://console.aws.amazon.com/iamv2)に移動します。

1. **[ロール]** を選択します。

1. 検索ボックスで、ユーザーの IAM ロールを名前で検索して選択します。

1. ユーザーのロールのページの **[権限]** で、**[権限の追加]** を選択します。

1. **[インラインポリシーを作成]** を選択します。

1. [JSON] タブを選択して、次の最小権限ポリシーをエディタに貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreateAutoMLJobV2",
                   "sagemaker:DescribeAutoMLJobV2"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. **[ポリシーの確認]** を選択します。

1. ポリシーの **[名前]** を入力します。

1. [**Create policy**] (ポリシーの作成) を選択します。

 AWS 管理ポリシーの詳細については、*IAM ユーザーガイド*の[「 管理ポリシーとインラインポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)」を参照してください。

# Canvas で Amazon Bedrock と生成 AI 機能を使用する権限をユーザーに付与する
<a name="canvas-fine-tuning-permissions"></a>

Amazon SageMaker Canvas の生成 AI 機能は、人間のようなテキストを理解して生成できる大規模言語モデル (LLM) である Amazon Bedrock 基盤モデルを搭載しています。このページでは、SageMaker Canvas の以下の機能に必要なアクセス許可を付与する方法について説明します。
+ [Amazon Bedrock モデルとチャットして比較する](canvas-fm-chat.md): SageMaker Canvas を介して Amazon Bedrock モデルにアクセスし、会話チャットを開始します。
+ [Data Wrangler のデータ準備機能にチャットを使用する](canvas-chat-for-data-prep.md): 自然言語を使用してデータを探索、視覚化、変換します。この機能は Anthropic Claude 2 を搭載しています。
+ [Amazon Bedrock 基盤モデルをファインチューニングする](canvas-fm-chat-fine-tune.md): 独自のデータで Amazon Bedrock 基盤モデルをファインチューニングして、カスタマイズされたレスポンスを受け取ります。

これらの機能を使用するには、使用する特定の Amazon Bedrock モデルへのアクセスを最初にリクエストする必要があります。次に、必要な AWS IAM アクセス許可と Amazon Bedrock との信頼関係をユーザーの実行ロールに追加します。アクセス許可をロールに付与するには、次のいずれかの方法を選択します。
+ 新しい Amazon SageMaker AI ドメインまたはユーザープロファイルを作成し、Amazon Bedrock アクセス許可を有効にします。詳細については、「[Amazon SageMaker Canvas の開始方法](canvas-getting-started.md)」を参照してください。
+ 既存の Amazon SageMaker AI ドメインまたはユーザープロファイルの設定を編集します。
+ ドメインまたはユーザーの IAM ロールにアクセス許可と信頼関係を手動で追加します。

## ステップ 1: Amazon Bedrock モデルアクセスを追加する
<a name="canvas-bedrock-access"></a>

Amazon Bedrock モデルへのアクセスはデフォルトでは許可されないため、Amazon Bedrock コンソールに移動して AWS 、アカウントのモデルへのアクセスをリクエストする必要があります。

特定の Amazon Bedrock モデルへのアクセスをリクエストする方法については、*Amazon Bedrock ユーザーガイド*の「[Manage access to Amazon Bedrock foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)」ページに記載されている**モデルアクセスの追加**手順に従ってください。

## ステップ 2: ユーザーの IAM ロールにアクセス権限を付与する
<a name="canvas-bedrock-iam-permissions"></a>

Amazon SageMaker AI ドメインまたはユーザープロファイルを設定する場合、ユーザーが SageMaker Canvas から Amazon Bedrock モデルにアクセスできるように、ユーザーの IAM 実行ロールに [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) ポリシーと、Amazon Bedrock との信頼関係がアタッチされている必要があります。

ドメイン設定を変更して、新しい実行ロール (SageMaker AI が必要なアクセスを付与する先) を作成するか、既存のロールを指定することができます。

あるいは、IAM コンソールを使用して、既存の IAM ロールのアクセス許可を手動で変更できます。

これらのメソッドについては、後のセクションで説明します。

### ドメイン設定によってアクセス許可を付与する
<a name="canvas-fine-tuning-permissions-console"></a>

ドメインまたはユーザープロファイル設定を編集して、**[Canvas の Ready-to-use モデルの設定]** を有効にし、Amazon Bedrock ロールを指定できます。

ドメイン設定を編集し、ドメイン内の Canvas ユーザーに Amazon Bedrock モデルへのアクセスを許可するには、以下を実行します。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動します。

1. 左側のナビゲーションペインで **[ドメイン]** を選択します。

1. ドメインのリストで、ドメインを選択します。

1. **[アプリケーション設定]** タブを選択します。

1. **[Canvas]** セクションで、**[編集]** を選択します。

1. **[Canvas の設定を編集]** ページが開きます。**[Canvas の Ready-to-use モデルの設定]** セクションでは、以下を実行します。

   1. **[Canvas の Ready-to-use モデル オプションを有効にする]** をオンにします。

   1. **[Amazon Bedrock ロール]** では、**[新しい実行ロールの作成および使用]** を選択し、[AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) ポリシーがアタッチされており、Amazon Bedrock との信頼関係を持つ新しい IAM 実行ロールを作成します。この IAM ロールは、Amazon Bedrock モデルにアクセスするとき、データ準備機能にチャットを使用するとき、または Canvas で Amazon Bedrock モデルをファインチューニングするときに、Amazon Bedrock によって引き受けられます。信頼関係を持つ実行ロールが既にある場合は、**[既存の実行ロールを使用する]** を選択し、ドロップダウンからロールを選択します。

1. **[送信]** を選択して変更を保存します。

これで、Amazon Bedrock モデルにアクセスし、データ準備機能にチャットを使用して、Canvas で Amazon Bedrock モデルをファインチューニングするために必要なアクセス許可がユーザーに付与されました。

個々のユーザーの設定は、上記の同じ手順を使用して編集できます。ただし、ドメインページから個々のユーザーのプロファイルに移動することはできません。代わりにユーザー設定を編集してください。個々のユーザーに付与されたアクセス許可はドメイン内の他のユーザーには適用されませんが、ドメイン設定を通じて付与されたアクセス許可はドメイン内のすべてのユーザープロファイルに適用されます。

ドメイン設定の編集の詳細については、「[View and Edit domains](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view-edit.html)」を参照してください。

### IAM 経由で手動でアクセス許可を付与する
<a name="canvas-fine-tuning-permissions-manual"></a>

Canvas で Amazon Bedrock モデルにアクセスしてファインチューニングする権限をユーザーに手動で付与するには、ドメインまたはユーザーのプロファイルに指定されている IAM ロールに権限を追加します。IAM ロールには [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) ポリシーがアタッチされている必要があり、Amazon Bedrock との信頼関係も必要です。

次のセクションでは、ポリシーを IAM ロールにアタッチし、Amazon Bedrock との信頼関係を作成する方法を示します。

まず、ドメインまたはユーザープロファイルの IAM ロールを書き留めます。個々のユーザーに付与された権限はドメイン内の他のユーザーには適用されず、ドメインを通じて付与された権限はドメイン内のすべてのユーザープロファイルに適用されることに注意してください。

Canvas で基盤モデルをファインチューニングするための IAM ロールを設定し、アクセス許可を付与するには、以下を実行します。

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) に移動します。

1. 左のナビゲーションペインで、**[Roles (ロール)]** を選択してください。

1. ロールのリストからユーザーの IAM ロールを名前で検索して選択します。

1. **権限**タブで、**権限を追加する**を選択します。ドロップダウンメニューで、**[ポリシーをアタッチ]** を選択します。

1. `AmazonSageMakerCanvasBedrockAccess` ポリシーを検索して選択します。

1. **[許可を追加]** を選択します。

1. IAM ロールのページに戻り、**[信頼関係]** タブを選択します。

1. **[Edit trust policy]** (信頼ポリシーを編集) を選択します。

1. ポリシーエディタの右側のパネルで、**[プリンシパルオプションを追加]** を見つけ、 **[追加]** を選択します。

1. ダイアログボックスの **[プリンシパルタイプ]** で、**[AWS のサービス]** を選択します。

1. **[ARN]** には、「**bedrock.amazonaws.com**」と入力します。

1. **[プリンシパルを追加]** を選択します。

1. [**ポリシーの更新**] を選択してください。

これで、[AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) ポリシーがアタッチされ、Amazon Bedrock との信頼関係を持つ IAM ロールが準備されました。 AWS 管理ポリシーの詳細については、*IAM ユーザーガイド*の[「管理ポリシーとインラインポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)」を参照してください。

# ユーザー向けに SageMaker Canvas を更新する
<a name="canvas-update"></a>

Amazon SageMaker Canvas の最新バージョンへの更新は、ユーザーまたは IT 管理者が実行できます。一度に 1 人のユーザーの Amazon SageMaker Canvas を更新できます。

Amazon SageMaker Canvas アプリケーションを更新するには、以前のバージョンを削除する必要があります。

**重要**  
Amazon SageMaker Canvas の以前のバージョンを削除しても、ユーザーが作成したデータやモデルは削除されません。

次の手順を使用して、 にログインし AWS、Amazon SageMaker AI ドメインを開き、Amazon SageMaker Canvas を更新します。ユーザーは再度ログインすることで、SageMaker Canvas アプリケーションを使用できるようになります。

1. [Amazon SageMaker ランタイム](https://console.aws.amazon.com/sagemaker/)で Amazon SageMaker AI コンソールにサインインします。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. **[ドメイン]** ページで、ドメインを選択します。

1. **[ユーザープロファイル]** のリストで、ユーザープロファイルを選択します。

1. **[アプリ]** リストで、Canvas アプリケーション (**[アプリタイプ]** が **Canvas**) を探して、**[アプリを削除]** を選択します。

1. ダイアログボックスに入力して、**[アクションの確認]** を選択します。

以下の画像は、前の手順の **[アプリを削除]** アクションが強調表示されているユーザープロファイルページを示しています。

![\[[アプリを削除] アクションが強調表示されたユーザープロファイルページのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-update-app-1.png)


# クォータの引き上げをリクエストする
<a name="canvas-requesting-quota-increases"></a>

ユーザーは、クォータで指定された量を超える量の AWS リソースを使用する場合があります。ユーザーのリソースに制約があり、SageMaker Canvas でエラーが発生した場合は、ユーザーのクォータの引き上げをリクエストできます。

SageMaker AI のクォータの詳細についてと、クォータの引き上げをリクエストする方法については、「[クォータ](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html#regions-quotas-quotas)」を参照してください。

Amazon SageMaker Canvas は、次のサービスを使用してユーザーのリクエストを処理します。
+ Amazon SageMaker Autopilot
+ Amazon SageMaker Studio Classic ドメイン

SageMaker Canvas オペレーションで利用可能なクォータのリストについては、「[Amazon SageMaker エンドポイントとクォータ](https://docs.aws.amazon.com//general/latest/gr/sagemaker.html)」を参照してください。

## カスタムモデルを構築するためにインスタンスの増加をリクエストする
<a name="canvas-requesting-quota-increases-instances"></a>

カスタムモデルを構築する際、構築後の分析で `ml.m5.2xlarge` インスタンスの割り当ての不足によってエラーが発生した場合は、次の情報を使用して問題を解決してください。

`ml.m5.2xlarge` インスタンスタイプの SageMaker AI ホスティングエンドポイントクォータを AWS 、アカウントのゼロ以外の値に増やす必要があります。モデルの構築後、SageMaker Canvas は SageMaker AI Hosting エンドポイントでモデルをホストし、エンドポイントを使用して構築後の分析を生成します。`ml.m5.2xlarge` インスタンスのデフォルトアカウントクォータ (0) を増やさない場合、SageMaker Canvas はこのステップを完了できず、構築後の分析中にエラーが生成されます。

クォータの引き上げ手順については、*Service Quotas ユーザーガイド*の「[Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。

# Amazon Redshift データをインポートする権限をユーザーに付与する
<a name="canvas-redshift-permissions"></a>

ユーザーは Amazon Redshift にデータセットを保存している場合があります。ユーザーが Amazon Redshift から SageMaker Canvas にデータをインポートする前に、ユーザープロファイルに使用した IAM 実行ロールに `AmazonRedshiftFullAccess` マネージドポリシーを追加し、そのロールの信頼ポリシーにサービスプリンシパルとして Amazon Redshift を追加する必要があります。また、IAM 実行ロールを Amazon Redshift クラスターに関連付ける必要もあります。Amazon Redshift データをインポートするために必要な権限をユーザーに付与するには、以下のセクションの手順に従います。

## Amazon Redshift の権限を IAM ロールに追加する
<a name="canvas-redshift-permissions-iam-role"></a>

ユーザープロファイルで指定されている IAM ロールに Amazon Redshift 権限を付与する必要があります。

ユーザーの IAM ロールに `AmazonRedshiftFullAccess` ポリシーを追加するには、次の手順に従います。

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) にサインインします。

1. **[ロール]** を選択します。

1. 検索ボックスで、ユーザーの IAM ロールを名前で検索して選択します。

1. ユーザーのロールのページの **[権限]** で、**[権限の追加]** を選択します。

1. **ポリシーのアタッチ** を選択します。

1. `AmazonRedshiftFullAccess` マネージドポリシーを検索して選択します。

1. **[ポリシーのアタッチ]** を選択して、ロールにポリシーをアタッチします。

ポリシーをアタッチすると、ロールの **[許可]** セクションに `AmazonRedshiftFullAccess` が表示されます。

Amazon Redshift をサービスプリンシパルとして IAM ロールに追加するには、以下の手順に従います。

1. IAM ロールと同じページの **[信頼関係]** で、**[信頼ポリシーの編集]** を選択します。

1. **[信頼ポリシーの編集]** エディタで、信頼ポリシーを更新して Amazon Redshift をサービスプリンシパルとして追加します。ユーザーに代わって Amazon Redshift が他の AWS サービスにアクセスすることを許可する IAM ロールには、次のような信頼関係があります。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 信頼ポリシーを編集したら、**[ポリシーの更新]** を選択します。

これで、`AmazonRedshiftFullAccess` ポリシーがアタッチされた IAM ロールと Amazon Redshift との信頼関係を確立できました。これにより、Amazon Redshift データを SageMaker Canvas にインポートする権限がユーザーに付与されます。 AWS 管理ポリシーの詳細については、*IAM ユーザーガイド*の[「 管理ポリシーとインラインポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)」を参照してください。

## IAM ロールを Amazon Redshift クラスターに関連付ける
<a name="canvas-redshift-permissions-cluster"></a>

Amazon Redshift クラスターの設定で、前のセクションで権限を付与した IAM ロールを関連付ける必要があります。

IAM ロールをクラスターと関連付けるには、以下の手順に従います。

1. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) で Amazon Redshift コンソールにサインインします。

1. ナビゲーションメニューで **[クラスター]** を選択して、更新するクラスター名を選択します。

1. **[アクション]** ドロップダウンメニューで、**[IAM ロールの管理]** を選択します。**[クラスターの権限]** ページが表示されます。

1. **[利用可能な IAM ロール]** に ARN または IAM ロールの名前を入力するか、リストから IAM ロールを選択します。

1. **[IAM ロールの関連付け]** を選択して、**[関連付けられた IAM ロール]** のリストに追加します。

1. **[変更を保存]** を選択して、IAM ロールをクラスターに関連付けます。

Amazon Redshift はクラスターを変更して変更を完了し、前の手順で Amazon Redshift 権限を付与した IAM ロールが Amazon Redshift クラスターに関連付けられます。これで、Amazon Redshift データを SageMaker Canvas にインポートするために必要な権限をユーザーに付与できました。

# 予測をクイックに送信するアクセス許可をユーザーに付与する
<a name="canvas-quicksight-permissions"></a>

バッチ予測を Quick に送信するアクセス許可を SageMaker Canvas ユーザーに付与する必要があります。Quick では、ユーザーはデータセットを使用して分析とレポートを作成し、結果を共有するダッシュボードを準備できます。分析のために QuickSight に予測を送信する方法の詳細については、「[Quick に予測を送信する](canvas-send-predictions.md)」を参照してください。

QuickSight のユーザーとバッチ予測を共有するために必要なアクセス許可を付与するには、ユーザープロファイルに使用した AWS Identity and Access Management (IAM) 実行ロールにアクセス許可ポリシーを追加する必要があります。次のセクションでは、最小権限ポリシーをロールにアタッチする方法について説明します。

**IAM ロールに権限ポリシーを追加する**

**権限ポリシーを追加するには、次の手順に従います。**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) にサインインします。

1. **[ロール]** を選択します。

1. 検索ボックスで、ユーザーの IAM ロールを名前で検索して選択します。

1. ユーザーのロールのページの **[権限]** で、**[権限の追加]** を選択します。

1. **[インラインポリシーを作成]** を選択します。

1. [JSON] タブを選択して、次の最小権限ポリシーをエディタに貼り付けます。プレースホルダー `<your-account-number>` を自分の AWS アカウント番号で置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "quicksight:CreateDataSet",
                   "quicksight:ListUsers",
                   "quicksight:ListNamespaces",
                   "quicksight:CreateDataSource",
                   "quicksight:PassDataSet",
                   "quicksight:PassDataSource"
               ],
               "Resource": [
                   "arn:aws:quicksight:*:111122223333:datasource/*",
                   "arn:aws:quicksight:*:111122223333:user/*",
                   "arn:aws:quicksight:*:111122223333:namespace/*",
                   "arn:aws:quicksight:*:111122223333:dataset/*"
               ]
           }
       ]
   }
   ```

------

1. [**ポリシーの確認**] を選択します。

1. ポリシーの **[名前]** を入力します。

1. [**Create policy**] (ポリシーの作成) を選択します。

これで、QuickSight ユーザーにバッチ予測を送信するために必要な権限を Canvas ユーザーに付与するカスタマーマネージド IAM ポリシーが実行ロールにアタッチすることができました。

# アプリケーション管理
<a name="canvas-manage-apps"></a>

以下のセクションでは、SageMaker Canvas アプリケーションの管理方法について説明します。アプリケーションの表示、削除、または再起動は、SageMaker AI コンソールの **[ドメイン]** セクションで実行できます。

**Topics**
+ [アクティブなアプリケーションを確認する](canvas-manage-apps-active.md)
+ [アプリケーションの削除](canvas-manage-apps-delete.md)
+ [アプリケーションの再起動](canvas-manage-apps-relaunch.md)

# アクティブなアプリケーションを確認する
<a name="canvas-manage-apps-active"></a>

実行中の SageMaker Canvas アプリケーションがあるかどうかを確認するには、次の手順に従います。

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のナビゲーションペインで、**ダッシュボード**を選択します。

1. **LCNC** セクションには、実行中のアクティブなアプリケーションの数を示す Canvas の行があります。アプリのリストを表示する番号を選択します。

**[ステータス]** 列には、**[準備完了]**、**[保留中]**、**[削除済み]** などのアプリケーションのステータスが表示されます。アプリケーションが **[準備完了]** の場合、SageMaker Canvas ワークスペースインスタンスはアクティブです。コンソールからアプリケーションを削除するか、Canvas を再度開いてログアウトできます。

# アプリケーションの削除
<a name="canvas-manage-apps-delete"></a>

SageMaker Canvas ワークスペースインスタンスを終了する場合は、SageMaker Canvas アプリケーションからログアウトするか、SageMaker AI コンソールからアプリケーションを削除できます。*ワークスペースインスタンス*は、SageMaker Canvas の使用を開始した時点から使用を停止するまでの間、ユーザー専用になります。アプリケーションを削除すると、ワークスペースインスタンスが終了し、ワークスペースインスタンスの料金が発生しなくなります。モデルとデータセットは影響を受けず、クイックビルドタスクはアプリケーションを再起動すると自動的に再開されます。

 AWS コンソールから Canvas アプリケーションを削除するには、まず Canvas アプリケーションが開いているブラウザタブを閉じます。次に、以下の手順に従って SageMaker Canvas のアプリケーションを削除します。

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. **[ドメイン]** ページで、ドメインを選択します。

1. **ドメインの詳細**ページで、**リソース**を選択します。

1. ****「アプリケーション」の「アプリケーションタイプ」列で **Canvas **という名前のアプリケーションを見つけます。 ****

1. Canvas アプリケーションの横にあるチェックボックスを選択し、**停止**を選択します。

これで、アプリケーションが正常に停止し、ワークスペースインスタンスが終了しました。

SageMaker Canvas アプリケーションから[ログアウト](canvas-log-out.md)して、ワークスペースインスタンスを終了することもできます。

# アプリケーションの再起動
<a name="canvas-manage-apps-relaunch"></a>

SageMaker Canvas アプリケーションを削除またはログアウトした後でアプリケーションを再起動するには、以下の手順に従います。

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)に移動します。

1. ナビゲーションペインで、**[Canvas]** を選択します。

1. SageMaker Canvas のランディングページの **[使用を開始]** ボックスで、ドロップダウンからユーザープロファイルを選択します。

1. **[Canvas を開く]** を選択してアプリケーションを開きます。

SageMaker Canvas がアプリケーションを起動し始めます。

前の手順で問題が発生した場合は、次の手順を使用することもできます。

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. **[ドメイン]** ページで、ドメインを選択します。

1. **[ドメインの詳細]** ページの **[ユーザープロファイル]** で、表示する SageMaker Canvas アプリケーションのユーザープロファイル名を選択します。

1. **[起動]** を選択して、ドロップダウンリストから **[Canvas]** を選択します。

SageMaker Canvas がアプリケーションを起動し始めます。

# インターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する
<a name="canvas-vpc"></a>

Amazon SageMaker Canvas アプリケーションは、 AWS マネージド Amazon Virtual Private Cloud (VPC) のコンテナで実行されます。リソースへのアクセスをさらに制御する場合や、パブリックインターネットにアクセスせずに SageMaker Canvas を実行する場合は、Amazon SageMaker AI ドメインと VPC の設定を行います。独自の VPC では、セキュリティグループ (Amazon EC2 インスタンスからのインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォール) やサブネット (VPC の IP アドレスの範囲) などを設定することができます。VPC の詳細については、「[How Amazon VPC works](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html)」を参照してください。

SageMaker Canvas アプリケーションが AWS マネージド VPC で実行されている場合、インターネット接続またはカスタマーマネージド VPC で作成された VPC エンドポイント (パブリックインターネットアクセスなし) を使用して、他の AWS サービスとやり取りできます。SageMaker Canvas アプリケーションは、Studio Classic で作成したネットワークインターフェイスを介してこれらの VPC エンドポイントにアクセスできます。これにより、カスタマーマネージド VPC への接続が可能になります。SageMaker Canvas アプリケーションは、デフォルトでインターネットにアクセスします。インターネット接続を使用する場合、前述のジョブのコンテナは、トレーニングデータやモデルアーティファクトを保存する Amazon S3 バケットなどの AWS リソースにインターネット経由でアクセスします。

ただし、データやジョブコンテナへのアクセスを制御するセキュリティ要件がある場合は、データやコンテナにインターネット経由でアクセスできないように SageMaker Canvas と VPC を設定することをお勧めします。SageMaker AI は、SageMaker Canvas のドメインの設定時に指定した VPC 設定を使用します。

インターネット接続を使用しない SageMaker Canvas アプリケーションを設定する場合は、[Amazon SageMaker AI ドメイン](gs-studio-onboard.md)へのオンボーディング時に VPC 設定を行って VPC エンドポイントを設定し、必要な AWS Identity and Access Management アクセス許可を付与する必要があります。Amazon SageMaker AI での VPC の設定については、「[Amazon VPC の選択](onboard-vpc.md)」を参照してください。以下のセクションでは、パブリックインターネットにアクセスせず、VPC で SageMaker Canvas を実行する方法について説明します。

## インターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する
<a name="canvas-vpc-configure"></a>

独自の VPC を使用して、SageMaker Canvas から他の AWS サービスにトラフィックを送信できます。独自の VPC にパブリックインターネットへのアクセスがなく、**VPC 専用**モードでドメインを設定している場合、SageMaker Canvas もパブリックインターネットにアクセスすることはできません。これには、Amazon S3 のデータセットへのアクセスや標準ビルドのトレーニングジョブなどのすべてのリクエストが含まれ、リクエストはパブリックインターネットではなく VPC の VPC エンドポイントを経由します。ドメインと [Amazon VPC の選択](onboard-vpc.md) にオンボーディングする際、必要なセキュリティグループとサブネット設定とともに、独自の VPC をドメインのデフォルト VPC として指定できます。次に、SageMaker AI は VPC にネットワークインターフェイスを作成します。SageMaker Canvas はこれを使用して VPC の VPC エンドポイントにアクセスします。

[セキュリティグループ内の TCP トラフィック](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)を許可するインバウンドルールとアウトバウンドルールを使用して、VPC に 1 つ以上のセキュリティグループを設定してください。これは Jupyter Server アプリケーションとカーネルゲートウェイアプリケーションの間の接続に必要です。範囲 `8192-65535` 内の最小数のポートへのアクセスを許可する必要があります。また、ユーザープロファイルごとに個別のセキュリティグループを作成し、同じセキュリティグループからのインバウンドアクセスを必ず追加します。ドメインレベルのセキュリティグループをユーザープロファイルに再利用することはお勧めしません。ドメインレベルのセキュリティグループがそれ自体へのインバウンドアクセスを許可すると、ドメイン内のすべてのアプリケーションがドメイン内の他のすべてのアプリケーションにアクセスできるようになります。セキュリティグループとサブネットの設定は、ドメインへのオンボーディングが完了した後に設定されることに注意してください。

ドメインへのオンボーディング時に、ネットワークアクセスタイプとして **[パブリックインターネットのみ]** を選択すると、VPC は SageMaker AI によって管理され、インターネットアクセスが許可されます。

この動作を変更するには **[VPC のみ]** を選択します。これにより、SageMaker AI は、指定された VPC に作成したネットワークインターフェイスにすべてのトラフィックを送信します。このオプションを選択する際は、サブネット、セキュリティグループ、VPC エンドポイントを提供する必要があります。これらは、SageMaker API および SageMaker AI ランタイムのほか、SageMaker Canvas が使用する Amazon S3 や Amazon CloudWatch などのさまざまな AWS サービスと通信する際に必要になります。VPC と同じリージョンにある Amazon S3 バケットからのみデータをインポートできることに注意してください。

以下の手順は、インターネットなしで SageMaker Canvas を使用するようにこれらの設定を行う方法を示しています。

### ステップ 1: Amazon SageMaker AI ドメインにオンボードする
<a name="canvas-vpc-configure-onboard"></a>

SageMaker Canvas トラフィックをインターネット経由ではなく独自の VPC のネットワークインターフェイスに送信するには、[Amazon SageMaker AI ドメイン](gs-studio-onboard.md)へのオンボーディング時に、使用する VPC を指定します。また、SageMaker AI が使用できる VPC のサブネットを 2 つ以上指定する必要があります。ドメインの **[ネットワークとストレージのセクション]** を設定する際は、**[標準セットアップ]** を選択し、次の手順に従います。

1. 希望する **[VPC]** を選択します。

1. 2 つ以上の **[サブネット]** を選択します。サブネットを選択しない場合、SageMaker AI は VPC のすべてのサブネットを使用します。

1. 1 つ以上の **[セキュリティグループ]** を選択します。

1. SageMaker Canvas がホストされている AWS マネージド VPC で直接インターネットアクセスをオフにするには、VPC **のみ**を選択します。

インターネットアクセスを無効化したら、オンボーディングプロセスを完了してドメインを設定します。Amazon SageMaker AI ドメインの VPC 設定の詳細については、「[Amazon VPC の選択](onboard-vpc.md)」を参照してください。

### 手順 2: VPC エンドポイントとアクセスを設定する
<a name="canvas-vpc-configure-endpoints"></a>

**注記**  
独自の VPC で Canvas を設定するには、VPC エンドポイントのプライベート DNS ホスト名を有効にする必要があります。詳細については、「[SageMaker AI に VPC インターフェイスエンドポイントを介して接続する](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html)」を参照してください。

SageMaker Canvas は、その機能のデータを管理および保存するために、他の AWS サービスにのみアクセスします。例えば、ユーザーが Amazon Redshift データベースにアクセスすると、SageMaker Canvas は Amazon Redshift に接続します。インターネット接続または VPC エンドポイントを使用して Amazon Redshift などの AWS サービスに接続できます。VPC からパブリックインターネットを使用しない AWS サービスへの接続を設定する場合は、VPC エンドポイントを使用します。

VPC エンドポイントは、パブリックインターネットから分離されたネットワークパスを使用する AWS サービスへのプライベート接続を作成します。例えば、独自の VPC から VPC エンドポイントを使用して Amazon S3 へのアクセスを設定する場合、SageMaker Canvas アプリケーションは VPC のネットワークインターフェイスを経由し、次に Amazon S3 に接続する VPC エンドポイントを経由して Amazon S3 にアクセスします。SageMaker Canvas と Amazon S3 の間の通信はプライベートです。

VPC エンドポイントの設定の詳細については、「[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)」を参照してください。VPC を使用した Canvas で Amazon Bedrock モデルを使用している場合、データへのアクセスコントロールの詳細については、「Amazon Bedrock ユーザーガイド」の「[PC を使用してジョブを保護する](https://docs.aws.amazon.com/bedrock/latest/userguide/usingVPC.html#configureVPC)」を参照してください。**

SageMaker Canvas で使用できる各サービスの VPC エンドポイントは次のとおりです。


| サービス | Endpoint | エンドポイントタイプ | 
| --- | --- | --- | 
|  AWS アプリケーションの Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | インターフェイス | 
|  Amazon Athena  |  com.amazonaws.*Region*.athena  | インターフェイス | 
|  Amazon SageMaker AI  |  com.amazonaws.*Region*.sagemaker.api com.amazonaws.*Region*.sagemaker.runtime com.amazonaws.*Region*.notebook  | インターフェイス | 
|  Amazon SageMaker AI Data Science Assistant  |  com.amazonaws.*Region*.sagemaker-data-science-assistant  | インターフェイス | 
|  AWS Security Token Service  |  com.amazonaws.*Region*.sts  | インターフェイス | 
|  Amazon Elastic Container Registry (Amazon ECR)  |  com.amazonaws.*Region*.ecr.api com.amazonaws.*Region*.ecr.dkr  | インターフェイス | 
|  Amazon Elastic Compute Cloud (Amazon EC2)  |  com.amazonaws.*Region*.ec2  | インターフェイス | 
|  Amazon Simple Storage Service (Amazon S3)  |  com.amazonaws.*Region*.s3  | ゲートウェイ | 
|  Amazon Redshift  |  com.amazonaws.*Region*.redshift-data  | インターフェイス | 
|  AWS Secrets Manager  |  com.amazonaws.*Region*.secretsmanager  | インターフェイス | 
|  AWS Systems Manager  |  com.amazonaws.*Region*.ssm  | インターフェイス | 
|  Amazon CloudWatch  |  com.amazonaws.*Region*.monitoring  | インターフェイス | 
|  Amazon CloudWatch Logs  |  com.amazonaws.*Region*.logs  | インターフェイス | 
|  Amazon Forecast  |  com.amazonaws.*Region*.forecast com.amazonaws.*Region*.forecastquery  | インターフェイス | 
|  Amazon Textract  |  com.amazonaws.*Region*.textract  | インターフェイス | 
|  Amazon Comprehend  |  com.amazonaws.*Region*.comprehend  | インターフェイス | 
|  Amazon Rekognition  |  com.amazonaws.*Region*.rekognition  | インターフェイス | 
|  AWS Glue  |  com.amazonaws.*Region*.glue  | インターフェイス | 
|  AWS アプリケーションの Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | インターフェイス | 
|  Amazon Relational Database Service (Amazon RDS)  |  com.amazonaws.*Region*.rds  | インターフェイス | 
|  Amazon Bedrock (表の後の注を参照）  |  com.amazonaws.*Region*.bedrock-runtime  | インターフェイス | 
|  Amazon Kendra  |  com.amazonaws.*Region*.kendra  | インターフェイス | 
|  Amazon EMR Serverless  |  com.amazonaws.*Region*.emr-serverless  | インターフェイス | 
|  Amazon Q Developer (表の後の注を参照)  |  com.amazonaws.*Region*.q  | インターフェイス | 

**注記**  
現時点では、Amazon Q Developer VPC エンドポイントは、米国東部 (バージニア北部) リージョンでのみ使用できます。他のリージョンから接続するには、セキュリティとインフラストラクチャの設定に基づいて、次のいずれかのオプションを選択できます。  
**NAT ゲートウェイを設定します。**VPC のプライベートサブネットで NAT ゲートウェイを設定し、Q Developer エンドポイントのインターネット接続を有効にします。詳細については、「[VPC プライベートサブネットに NAT ゲートウェイを設定する](https://repost.aws/knowledge-center/nat-gateway-vpc-private-subnet)」を参照してください。
**クロスリージョン VPC エンドポイントアクセスを有効にします。**Q Developer のクロスリージョン VPC エンドポイントアクセスを設定します。インターネットアクセスを必要としない安全な接続を行うには、このオプションを使用します。詳細については、「[クロスリージョン VPC エンドポイントアクセスの設定](https://repost.aws/knowledge-center/vpc-endpoints-cross-region-aws-services)」を参照してください。

**注記**  
Amazon Bedrock では、インターフェイスエンドポイントのサービス名 `com.amazonaws.Region.bedrock` は廃止されました。上の表に記載されているサービス名で新しい VPC エンドポイントを作成します。  
さらに、インターネットアクセスのない Canvas VPC から基盤モデルをファインチューニングすることはできません。これは、Amazon Bedrock がモデルカスタマイズ API 向け VPC エンドポイントをサポートしていないためです。Canvas での基盤モデルのファインチューニングの詳細については、「[基盤モデルをファインチューニングする](canvas-fm-chat-fine-tune.md)」を参照してください。

VPC エンドポイントへの AWS プリンシパルアクセスを制御するには、Amazon S3 のエンドポイントポリシーも追加する必要があります。VPC エンドポイントポリシーを更新する方法については、「[Control access to VPC endpoints using endpoint policies](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」を参照してください。

以下は、使用可能な 2 つの VPC エンドポイントポリシーです。データのインポートやモデルの作成など、Canvas の基本機能へのアクセスのみを許可する場合は、最初のポリシーを使用します。Canvas の追加の[生成 AI 機能](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html)へのアクセスを許可する場合は、2 番目のポリシーを使用します。

------
#### [ Basic VPC endpoint policy ]

次のポリシーは、Canvas の基本的なオペレーションに必要な VPC エンドポイントへのアクセスを許可します。

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------
#### [ Generative AI VPC endpoint policy ]

次のポリシーは、Canvas での基本的なオペレーションと、生成 AI 基盤モデルの使用に必要な VPC エンドポイントへのアクセスを許可します。

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*fmeval/datasets*",
                "arn:aws:s3:::*jumpstart-cache-prod*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------

### ステップ 3: IAM 権限を付与する
<a name="canvas-vpc-configure-permissions"></a>

SageMaker Canvas ユーザーには、VPC エンドポイントへの接続を許可するために必要な AWS Identity and Access Management アクセス許可が必要です。アクセス許可を付与する IAM ロールは、Amazon SageMaker AI ドメインへのオンボーディング時に使用したロールと同じである必要があります。SageMaker AI マネージド `AmazonSageMakerFullAccess` ポリシーをユーザーの IAM ロールにアタッチすると、ユーザーに必要なアクセス許可を付与できます。より制限の厳しい IAM 権限が必要で、代わりにカスタムポリシーを使用する場合は、ユーザーのロールに `ec2:DescribeVpcEndpointServices` 権限を付与します。SageMaker Canvas では、標準ビルドジョブに必要な VPC エンドポイントがあることを確認するためにこれらの権限が必要です。これらの VPC エンドポイントが検出されると、標準ビルドジョブはデフォルトで VPC で実行されます。それ以外の場合は、デフォルトの AWS マネージド VPC で実行されます。

`AmazonSageMakerFullAccess` IAM ポリシーをユーザーの IAM ロールにアタッチする方法については、「[Adding and removing IAM identity permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

ユーザーの IAM ロールに詳細な `ec2:DescribeVpcEndpointServices` 権限を付与するには、以下の手順に従います。

1. にサインイン AWS マネジメントコンソール し、[IAM コンソール](https://console.aws.amazon.com/iam/)を開きます。

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

1. リストで、権限を付与するロールの名前を選択します。

1. **[アクセス許可]** タブを選択します。

1. **[アクセス許可を追加]**、**[インラインポリシーを作成]** の順に選択します。

1. **[JSON]** タブを選択し、`ec2:DescribeVpcEndpointServices` 権限を付与する次のポリシーを入力します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "ec2:DescribeVpcEndpointServices",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. **[ポリシーの確認]** を選択して、ポリシーの **[名前]** を入力します (例: `VPCEndpointPermissions`)。

1. [**Create policy**] (ポリシーの作成) を選択します。

これで、VPC で設定された VPC エンドポイントにアクセスする権限がユーザーの IAM ロールに付与されました。

### (オプション) 手順 4: 特定のユーザーのセキュリティグループ設定を上書きする
<a name="canvas-vpc-configure-override"></a>

管理者はユーザーごとに異なる VPC 設定、またはユーザー固有の VPC 設定が必要な場合があります。特定のユーザーのデフォルト VPC のセキュリティグループ設定を上書きすると、これらの設定はそのユーザーの SageMaker Canvas アプリケーションに渡されます。

Studio Classic で新しいユーザープロファイルを設定する際、特定のユーザーが VPC でアクセスできるセキュリティグループを上書きすることができます。[CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) SageMaker API コール (または [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) の [create\$1user\$1profile](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_user_profile)) を使用すると、`UserSettings` でそのユーザー用の `SecurityGroups` を指定できます。

# OAuth を使用してデータソースへの接続を設定する
<a name="canvas-setting-up-oauth"></a>

次のセクションでは、SageMaker Canvas からデータソースへの OAuth 接続を設定するために必要な手順について説明します。[OAuth](https://oauth.net/2/) は、パスワードを共有せずにリソースへのアクセスを許可するための一般的な認証プラットフォームです。OAuth を使用すると、Canvas からデータにすばやく接続し、モデルを構築するためにデータをインポートできます。Canvas は現在、Snowflake および Salesforce Data Cloud 向けの OAuth をサポートしています。

**注記**  
各データソースで確立できる OAuth 接続は 1 つのみです。

## Salesforce Data Cloud の OAuth を設定する
<a name="canvas-setting-up-oauth-salesforce"></a>

Salesforce Data Cloud に OAuth を設定する一般的な手順は次のとおりです。

1. Salesforce Data Cloud にサインインします。

1. Salesforce Data Cloud で、新しいアプリ接続を作成して、次の操作を行います。

   1. OAuth 設定を有効にします。

   1. コールバック URL (またはデータにアクセスするリソースの URL) の入力を求められたら、Canvas アプリケーションの URL を指定します。Canvas アプリケーションの URL の形式は `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default` です。

   1. コンシューマーキーとシークレットをコピーします。

   1. 認可 URL とトークン URL をコピーします。

Salesforce Data Cloud で上記タスクを実行する方法の詳細については、Salesforce Data Cloud からのデータのインポートに関する Data Wrangler のドキュメントの「[Salesforce データクラウドからデータをインポートする](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud)」を参照してください。

Salesforce Data Cloud からのアクセスを有効にして接続情報を取得したら、情報を保存する [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) シークレットを作成し、Amazon SageMaker AI ドメインまたはユーザープロファイルに追加する必要があります。ドメインとユーザープロファイルの両方にシークレットを追加できますが、Canvas は最初にユーザープロファイルのシークレットを検索することに注意してください。

ドメインまたはユーザープロファイルにシークレットを追加するには、次の手順に従います。

1. [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker)に移動します。

1. ナビゲーションペインで、**ドメイン**を選択します。

1. **[ドメイン]** リストで、ドメインを選択します。

   1. ドメインにシークレットを追加するには、次の手順に従います。

      1. ドメインを選択します。

      1. **[ドメインの設定]** ページで、**[ドメインの設定]** タブを選択します。

      1. **[編集]** を選択します。

   1. ユーザープロファイルにシークレットを追加するには、次の手順に従います。

      1. ユーザーのドメインを選択します。

      1. **[ドメインの設定]** ページで、ユーザープロファイルを選択します。

      1. **[ユーザーの詳細]** ページで、**[編集]** を選択します。

1. ナビゲーションペインで、**[Canvas の設定]** を選択します。

1. **[OAuth 設定]** で、**[OAuth 設定を追加]** を選択します。

1. **[データソース]** で、**[Salesforce Data Cloud]** を選択します。

1. **[シークレット設定]** で、**[新しいシークレットを作成]** を選択します。または、認証情報を使用して AWS Secrets Manager シークレットを既に作成している場合は、シークレットの ARN を入力します。新しいシークレットを作成するには、次の手順に従います。

   1. **[ID プロバイダー]** で、**[SALESFORCE]** を選択します。

   1. **[クライアント ID]**、**[クライアントシークレット]**、**[認可 URL]**、および**[トークン URL]**に、前の手順で Salesforce Data Cloud から入手した情報をすべて入力します。

1. ドメインまたはユーザープロファイルの設定を保存します。

これで、Canvas から Salesforce Data Cloud のデータへの接続を作成できました。

## Snowflake に OAuth を設定する
<a name="canvas-setting-up-oauth-snowflake"></a>

Snowflake の認証を設定するために、Canvas はユーザーが Canvas に認証情報を直接入力する代わりに使用できる ID プロバイダーをサポートしています。

Canvas がサポートする ID プロバイダーに関する Snowflake ドキュメントへのリンクは次のとおりです。
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

一般的な手順を以下に示します。これらの手順を実行する方法の詳細については、Snowflake からのデータのインポートに関する Data Wrangler のドキュメントの「[Snowflake OAuth アクセスのセットアップ](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup)」セクションを参照してください。

Snowflake 用の OAuth を設定するには、次の手順に従います。

1. ID プロバイダーを含むアプリケーションとして Canvas を登録します。登録するには Canvas へのリダイレクト URL を指定する必要があります。このリダイレクト URL は `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default` の形式に従う必要があります。

1. ID プロバイダー内で、Canvas に OAuth トークンを送信するサーバーまたは API を作成して、Canvas が Snowflake にアクセスできるようにします。サーバーをセットアップする際は、認可コードと更新トークンの付与タイプを使用し、アクセストークンの有効期間を指定して、更新トークンポリシーを設定します。また、Snowflake の外部 OAuth セキュリティ統合で `external_oauth_any_role_mode` を有効にします。

1. ID プロバイダーから、トークン URL、認可 URL、クライアント ID、クライアントシークレットの情報を取得します。Azure AD の場合は、OAuth スコープ認証情報も取得します。

1. 前のステップで取得した情報を AWS Secrets Manager シークレットに保存します。

   1. Okta と Ping Federate では、シークレットの形式は次のようになります。

      ```
      {"token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
      "client_id":"example-client-id", "client_secret":"example-client-secret", "identity_provider":"OKTA"|"PING_FEDERATE",
      "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"}
      ```

   1. Azure AD の場合、シークレットには `datasource_oauth_scope` フィールドとして OAuth スコープ認証情報も含める必要があります。

アイデンティティプロバイダーとシークレットを設定したら、情報を保存するための [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) シークレットを作成し、それを Amazon SageMaker AI ドメインまたはユーザープロファイルに追加する必要があります。ドメインとユーザープロファイルの両方にシークレットを追加できますが、Canvas は最初にユーザープロファイルのシークレットを検索することに注意してください。

ドメインまたはユーザープロファイルにシークレットを追加するには、次の手順に従います。

1. [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker)に移動します。

1. ナビゲーションペインで、**ドメイン**を選択します。

1. **[ドメイン]** リストで、ドメインを選択します。

   1. ドメインにシークレットを追加するには、次の手順に従います。

      1. ドメインを選択します。

      1. **[ドメインの設定]** ページで、**[ドメインの設定]** タブを選択します。

      1. **[編集]** を選択します。

   1. ユーザープロファイルにシークレットを追加するには、次の手順に従います。

      1. ユーザーのドメインを選択します。

      1. **[ドメインの設定]** ページで、ユーザープロファイルを選択します。

      1. **[ユーザーの詳細]** ページで、**[編集]** を選択します。

1. ナビゲーションペインで、**[Canvas の設定]** を選択します。

1. **[OAuth 設定]** で、**[OAuth 設定を追加]** を選択します。

1. **[データソース]** で、**[Snowflake]** を選択します。

1. **[シークレット設定]** で、**[新しいシークレットを作成]** を選択します。または、認証情報を使用して AWS Secrets Manager シークレットを既に作成している場合は、シークレットの ARN を入力します。新しいシークレットを作成するには、次の手順に従います。

   1. **[ID プロバイダー]** で、**[SNOWFLAKE]** を選択します。

   1. **[クライアント ID]**、**[クライアントシークレット]**、**[認可 URL]**、および**[トークン URL]**に、前の手順で ID プロバイダーから入手した情報をすべて入力します。

1. ドメインまたはユーザープロファイルの設定を保存します。

これで、Canvas から Snowflake のデータへの接続を作成できました。

# Amazon Q Developer を使用して Canvas で ML の問題を解決するための生成 AI 支援
<a name="canvas-q"></a>

Amazon SageMaker Canvas を使用すると、Amazon Q Developer と自然言語でチャットして、生成 AI を活用し、問題を解決できます。Q Developer は、目標を機械学習 (ML) タスクに変換し、ML ワークフローの各ステップを説明するアシスタントです。Q Developer を使用すると、Canvas ユーザーは、ML を活用して、組織でデータ駆動型の意思決定を行うために必要な時間、労力、データサイエンスの専門知識を低減するのに役立ちます。

Q Developer との会話を介して、データの準備、ML モデルの構築、予測の実行、モデルのデプロイなどのアクションを Canvas で開始できます。Q Developer は次のステップを提案し、各ステップの完了時にコンテキストを提供します。結果も通知します。例えば、Canvas はベストプラクティスに従ってデータセットを変換し、使用された変換とその理由を一覧表示できます。

Amazon Q Developer の Pro Tier と Free Tier の両方のユーザーは、Amazon Q Developer を SageMaker Canvas で追加料金なしで利用できます。ただし、SageMaker Canvas ワークスペースインスタンスや、モデルの構築またはデプロイに使用されるリソースなどには、標準料金が適用されます。料金の詳細については、「[Amazon SageMaker Canvas の料金](https://aws.amazon.com/sagemaker-ai/canvas/pricing/)」を参照してください。

Amazon Q の使用は、[MIT の 0 ライセンス](https://github.com/aws/mit-0)に基づいてライセンス供与され、[AWS 責任ある AI ポリシー](https://aws.amazon.com/machine-learning/responsible-ai/policy/)が適用されます。米国外から Q Developer を使用する場合、Q Developer は米国リージョン間でデータを処理します。詳細については、「[Amazon Q Developer でのクロスリージョン推論](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-inference.html)」を参照してください。

**注記**  
SageMaker Canvas の Amazon Q Developer は、無料利用枠を使用する場合でも、Pro 利用枠のサブスクリプションを利用する場合でも、ユーザーコンテンツをサービス向上のために使用することはありません。サービステレメトリの目的で、Q Developer は質問数やレコメンデーションの承認または拒否など、お客様の使用状況を追跡する場合があります。このテレメトリデータには、ユーザーの IP アドレスなどの個人識別情報は含まれません。

## 仕組み
<a name="canvas-q-how-it-works"></a>

Amazon Q Developer は、SageMaker Canvas で利用できる、生成 AI を活用したアシスタントで、自然言語を使用してクエリを実行できます。Q Developer は、機械学習ワークフローの各ステップについて提案を行い、概念を説明し、必要に応じてオプションと詳細を提供します。Q Developer は、リグレッション、二項分類、多クラス分類のユースケースに役立ちます。

例えば、顧客離脱を予測するには、過去の顧客離脱情報のデータセットを Q Developer を介して Canvas にアップロードします。Q Developer は、データセットの問題の修正、モデルの構築、予測を行うための適切な ML モデルタイプとステップを提案します。

**重要**  
Amazon Q Developer は、SageMaker Canvas 内での機械学習の問題に関する会話を行うことを目的としています。Canvas アクションを通じてユーザーをガイドし、オプションで AWS のサービスに関する質問に回答します。Q Developer はモデル入力を英語でのみ処理します。Amazon Q Developer の利用方法については、「*Amazon Q Developer ユーザーガイド*」の「[Amazon Q Developer の機能](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/features.html)」を参照してください。

## サポート対象のリージョン
<a name="canvas-q-regions"></a>

Amazon Q Developer は、以下の SageMaker Canvas 内で利用できます AWS リージョン。
+ 米国東部 (バージニア北部)
+ 米国東部 (オハイオ)
+ 米国西部 (オレゴン)
+ アジアパシフィック (ムンバイ)
+ アジアパシフィック (ソウル)
+ アジアパシフィック (シンガポール)
+ アジアパシフィック (シドニー)
+ アジアパシフィック (東京)
+ 欧州 (フランクフルト)
+ 欧州 (アイルランド)
+ 欧州 (パリ)

## Canvas で利用可能な Amazon Q Developer の機能
<a name="canvas-q-capabilities"></a>

次のリストは、Q Developer がサポートできる Canvas タスクをまとめたものです。
+ **目的を説明する** – Q Developer は、問題を解決するための ML モデルタイプと一般的なアプローチを提案できます。
+ **データセットのインポートと分析** – データセットの保存場所を Q Developer に伝えるか、ファイルをアップロードして Canvas データセットとして保存します。外れ値や欠損値など、データセットの問題を特定するように Q Developer にプロンプトを提供します。Q Developer は、データセットに関する統計概要を提供し、特定された問題を一覧表示します。

  Q Developer は、個々の列の以下の統計に関するクエリをサポートしています。
  + 数値列 – `number of valid values`、`feature type`、`mean`、`median`、`minimum`、`maximum`、`standard deviation`、`25th percentile`、`75th percentile`、`number of outliers`
  + カテゴリ列 – `number of missing values`、`number of valid values`、`feature type`、`most frequent`、`most frequent category`、`most frequent category count`、`least frequent`、`least frequent category`、`least frequent category count`、`categories`
+ **データセットに関する問題の修正** – Canvas のデータ変換機能を使用してデータセットの修正版を作成するよう Q Developer にプロンプトを提示します。Canvas は Data Wrangler データフローを作成し、データサイエンスのベストプラクティスに従って変換を適用します。詳細については、「[データ準備](canvas-data-prep.md)」を参照してください。

  Q Developer で実行できるよりも高度なデータ分析やデータ準備タスクを実行する場合は、Data Wrangler データフローインターフェイスを使用することをお勧めします。
+ **モデルのトレーニング** – Q Developer は、問題に推奨される ML モデルタイプと提案されたモデル構築設定について説明します。推奨されるデフォルト設定を使用してクイックビルドを実行することも、設定を変更して標準ビルドを実行することもできます。準備が整ったら、Q Developer に Canvas モデルを構築するようプロンプトを提示します。

  すべてのカスタムモデルタイプがサポートされています。モデルタイプ、クイックビルドと標準ビルドの比較の詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。
+ **モデルの精度の評価** – モデルを構築した後、Q Developer はさまざまなメトリクスにわたってモデルスコアの概要を提供します。これらのメトリクスは、モデルの有用性と精度を判断するのに役立ちます。Q Developer は、あらゆる概念やメトリクスを詳細に説明できます。

  詳細と可視化をすべて表示するには、チャットまたは Canvas の **[My Models]** ページからモデルを開きます。詳細については、「[モデル評価](canvas-evaluate-model.md)」を参照してください。
+ **新しいデータの予測の取得** – 新しいデータセットをアップロードし、Q Developer にプロンプトを提示して Canvas の予測機能を開くことができます。

  Q Developer は、アプリケーションで新しいウィンドウを開き、単一の予測を行ったり、新しいデータセットでバッチ予測を行ったりすることができます。詳細については、「[カスタムモデルを使用した予測](canvas-make-predictions.md)」を参照してください。
+ **モデルのデプロイ** – モデルを本番環境にデプロイするには、Q Developer に Canvas 経由でモデルのデプロイを依頼します。Q Developer は、デプロイを設定できる新しいウィンドウを開きます。

  デプロイ後、1) モデルのデプロイタブの Canvas の **[My Models]** ページで **[デプロイ]** の詳細を表示するか、2) デプロイタブの **[ML Ops]** ページで **[デプロイ]** の詳細を表示します。詳細については、「[モデルをエンドポイントにデプロイする](canvas-deploy-model.md)」を参照してください。

## 前提条件
<a name="canvas-q-prereqs"></a>

Amazon Q Developer を使用して SageMaker Canvas で ML モデルを構築するには、次の前提条件を満たす必要があります。

**Canvas アプリケーションを設定する**

Canvas アプリケーションが設定されていることを確認します。Canvas アプリケーションをセットアップする方法については、「[Amazon SageMaker Canvas の開始方法](canvas-getting-started.md)」を参照してください。

**Q Developer のアクセス許可を付与する**

Canvas の使用中に Q Developer にアクセスするには、SageMaker AI ドメインまたはユーザープロファイルで使用されている AWS IAM ロールに必要なアクセス許可をアタッチする必要があります。これを行うには、このセクションで説明するコンソールを使用します。コンソールメソッドの使用が原因でアクセス許可の問題が発生した場合は、 AWS 管理ポリシー [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) を IAM ロールに手動でアタッチします。

ドメインレベルでアタッチされたアクセス許可は、個々のアクセス許可がユーザープロファイルレベルで付与または取り消されない限り、ドメイン内のすべてのユーザープロファイルに適用されます。

------
#### [ SageMaker AI console method ]

アクセス許可は、SageMaker AI ドメインまたはユーザープロファイルの設定を編集することで付与できます。

SageMaker AI コンソールのドメイン設定を通じてアクセス許可を付与するには、次の手順を実行します。

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. ドメインのリストで、ドメインを選択します。

1. **[ドメインの詳細]** ページで、**[アプリケーション設定]** タブを選択します。

1. **[Canvas]** セクションで、**[編集]** を選択します。

1. **[Canvas の設定を編集]** ページで、**[Amazon Q Developer]** セクションに移動し、以下を実行します。

   1. **[自然言語 ML で SageMaker Canvas の Amazon Q Developer を有効にする]** をオンにして、Canvas で Q Developer とチャットを行うアクセス許可をドメインの実行ロールに追加します。

   1. (オプション) さまざまな ( AWS のサービス 例: Athena の仕組みを説明する) について Q Developer に質問する場合は、**一般的な AWS 質問に対して Amazon Q Developer チャットを有効にする**を有効にします。
**注記**  
Q Developer に一般的な AWS クエリを実行する場合、リクエストは米国東部 (バージニア北部) を経由します AWS リージョン。データが米国東部 (バージニア北部) を経由してルーティングされないようにするには、**[Amazon Q Developer チャットで一般的な AWS の質問を有効にする]** トグルをオフにします。

------
#### [ Manual method ]

[ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) ポリシーを、ドメインまたはユーザープロファイルに使用される AWS IAM ロールにアタッチします。設定方法の詳細については、「*AWS IAM ユーザーガイド*」の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

------

**(オプション) VPC から Q Developer へのアクセスを設定する**

パブリックインターネットアクセスなしで設定された VPC がある場合は、Q Developer の VPC エンドポイントを追加できます。詳細については、「[インターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する](canvas-vpc.md)」を参照してください。

## 開始方法
<a name="canvas-q-get-started"></a>

Amazon Q Developer を使用して SageMaker Canvas で ML モデルを構築するには、次を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで、**[Amazon Q]** を選択します。

1. **[新しい会話を開始]** をクリックして、新しいチャットを開きます。

新しいチャットを開始すると、Q Developer は問題を記述するか、データセットを提供するように求めるプロンプトを表示します。

![\[新しいチャットの開始時に Q Developer が提供する挨拶\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/amazon-q-greeting.png)


データをインポートした後、Q Developer にデータセットに関する統計概要の提供を依頼したり、特定の列について質問したりできます。Q Developer がサポートするさまざまな統計のリストについては、前の「[Canvas で利用可能な Amazon Q Developer の機能](#canvas-q-capabilities)」セクションを参照してください。次のスクリーンショットは、製品カテゴリ列でデータセット統計と最も頻度の高いカテゴリを尋ねる例です。

![\[Q Developer にデータセット統計と最も頻繁なカテゴリ統計を提供するように求めるチャットダイアログ\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/amazon-q-dataset-statistics.png)


Q Developer は、変換されたデータセットやモデルなど、会話中にインポートまたは作成した Canvas アーティファクトを追跡します。これは、チャットまたは他の Canvas アプリケーションタブからアクセスできます。例えば、Q Developer がデータセットの問題を修正した場合、次の場所から変換された新しいデータセットにアクセスできます。
+ Q Developer チャットインターフェイスのアーティファクトサイドバー
+ Canvas の **[データセット]** ページ。元のデータセットと変換されたデータセットの両方を表示できます。変換されたデータセットには、**[Built by Amazon Q]** ラベルが追加されています。
+ Canvas の **[Data Wrangler]** ページ。Q Developer は、ここにデータセットの新しいデータフローを作成します。

次のスクリーンショットは、チャットのサイドバーにある元のデータセットと変換されたデータセットです。

![\[Q Developer チャットのサイドバーに表示されるデータセットと変換されたデータセットであるアーティファクト\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/amazon-q-artifacts.png)


データの準備が整ったら、Q Developer に Canvas モデルの構築を依頼します。Q Developer は、いくつかのフィールドを確認してビルド設定を確定するように求めるプロンプトを表示する場合があります。デフォルトのビルド設定を使用する場合、モデルはクイックビルドを使用して構築されます。使用するアルゴリズムの選択や目標メトリクスの変更など、ビルド設定の一部をカスタマイズする場合、モデルは標準ビルドで構築されます。

次のスクリーンショットは、いくつかのプロンプトのみで Canvas モデルビルドを開始するように Q Developer にプロンプトを提示する方法を説明しています。この例では、デフォルト設定を使用してクイックビルドを開始します。

![\[ユーザーが Canvas モデルビルドの開始を求めるプロンプトを提示する Q Developer との会話\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/amazon-q-training-chat.png)


モデルを構築したら、チャットの自然言語またはアーティファクトサイドバーメニューを使用して追加のアクションを実行できます。例えば、モデルの詳細とメトリクスを表示したり、予測を行ったり、モデルをデプロイしたりできます。次のスクリーンショットは、これらの追加オプションを選択できるサイドバーを示しています。

![\[Q Developer の会話省略記号メニューが展開され、モデルの詳細、予測、デプロイを表示するオプションが表示されています。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/amazon-q-ellipsis-menu.png)


Canvas の **[My Models]** ページに移動してモデルを選択することで、これらのアクションを実行することもできます。モデルのページから、**[分析]**、**[予測]**、**[デプロイ]** タブに移動して、モデルのメトリクスと可視化を表示し、予測を行って、デプロイを管理できます。

# を使用した Q Developer の会話のログ記録 AWS CloudTrail
<a name="canvas-q-cloudtrail"></a>

AWS CloudTrail は、ユーザー、ロール、または Amazon SageMaker AI AWS のサービス で実行されたアクションを記録するサービスです。CloudTrail は、SageMaker Canvas (ノーコード ML インターフェイス) の使用中に Amazon Q Developer (会話 AI アシスタント) とやり取りした結果の API コールをキャプチャします。CloudTrail データには、リクエストの詳細、リクエスタの IP アドレス、リクエストを実行したリクエスタ、リクエスト日時が表示されます。

Q Developer とのやり取りは、Canvas がバックエンドで活用する内部サービスである SageMaker AI Data Science Assistant サービスへの `SendConversation` API コールとして送信されます。`SendConversation` API コールのイベントソースは `sagemaker-data-science-assistant.amazonaws.com` です。

**注記**  
プライバシーとセキュリティ上の理由から、会話の内容はログでは非表示になり、リクエストとレスポンスの要素に `HIDDEN_DUE_TO_SECURITY_REASONS` と表示されます。

CloudTrail の詳細については、「[https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)」を参照してください。SageMaker AI での CloudTrail の詳細については、「[を使用した Amazon SageMaker AI API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)」を参照してください。

`SendConversation` API のログファイルのエントリ例は、次のとおりです。

```
{
    "eventVersion":"1.10",
    "userIdentity": {
        "type":"AssumedRole",
        "principalId":"AROA123456789EXAMPLE:user-Isengard",
        "arn":"arn:aws:sts::111122223333:assumed-role/Admin/user",
        "accountId":"111122223333",
        "accessKeyId":"ASIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type":"Role",
                "principalId":"AROA123456789EXAMPLE",
                "arn":"arn:aws:iam::111122223333:role/Admin",
                "accountId":"111122223333",
                "userName":"Admin"
            },
            "attributes": {
                "creationDate":"2024-11-11T22:04:37Z",
                "mfaAuthenticated":"false"
            }
        }
    },
    "eventTime":"2024-11-11T22:09:22Z",
    "eventSource":"sagemaker-data-science-assistant.amazonaws.com",
    "eventName":"SendConversation",
    "awsRegion":"us-west-2",
    "sourceIPAddress":"192.0.2.0",
    "userAgent":"Boto3/1.33.13 md/Botocore#1.33.13 ua/2.0 os/linux#5.10.227-198.884.amzn2int.x86_64 md/arch#x86_64 lang/python#3.7.16 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.33.13",
    "requestParameters": {
        "conversation": [
            {
                "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                "utterance":"HIDDEN_DUE_TO_SECURITY_REASONS",
                "timestamp":"Feb 4, 2020, 7:46:29 AM",
                "utteranceType":"User"
            }
        ],
        "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    },
    "responseElements": {
        "responseCode":"CHAT_RESPONSE",
        "conversationId":"1234567890abcdef0",
        "response": {
            "chat": {
                "body":"HIDDEN_DUE_TO_SECURITY_REASONS"
            }
        }
    },
    "requestID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "eventID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "managementEvent":true,
    "recipientAccountId":"123456789012",
    "eventCategory":"Management",
    "tlsDetails": {
        "tlsVersion":"TLSv1.2",
        "cipherSuite":"ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader":"gamma.us-west-2.data-science-assistant.sagemaker.aws.dev"
    }
}
```

# データのインポート
<a name="canvas-importing-data"></a>

Amazon SageMaker Canvas は、表形式、画像、およびドキュメントデータのインポートをサポートしています。ローカルマシン、Amazon S3 や Amazon Redshift などの Amazon サービス、および外部データソースからデータセットをインポートできます。Amazon S3 からデータセットをインポートするときは、任意のサイズのデータセットを取り込むことができます。インポートしたデータセットを使用して、モデルの構築や他のデータセットの予測を行えます。

カスタムモデルを構築できる各ユースケースでは、それぞれ異なるタイプの入力を受け入れます。例えば、単一ラベルの画像分類モデルを構築する場合は、画像データをインポートする必要があります。さまざまなモデルタイプとそれらが受け入れるデータの詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。SageMaker Canvas では、次のデータ型のデータをインポートして、カスタムモデルを構築できます。
+ **表形式** (CSV、Parquet、または表)
  + カテゴリ — カテゴリデータを使用して、2 つ以上のカテゴリ予測と 3 つ以上のカテゴリ予測用のカスタムカテゴリ予測モデルを構築します。
  + 数値 — 数値データを使用して数値予測カスタムモデルを構築します。
  + テキスト — テキストデータを使用して、マルチカテゴリのテキスト予測カスタムモデルを構築します。
  + 時系列 — 時系列データを使用して時系列予測カスタムモデルを構築します。
+ **画像** (JPG または PNG) — 画像データを使用して単一ラベル画像予測カスタムモデルを構築します。
+ **ドキュメント** (PDF、JPG、PNG、TIFF) — ドキュメントデータは SageMaker Canvas の Ready-to-use モデルでのみサポートされています。ドキュメントデータの予測を行う Ready-to-use モデルの詳細については、「[Ready-to-use モデル](canvas-ready-to-use-models.md)」を参照してください。

Canvas には、以下のデータソースからデータをインポートできます。
+ コンピュータ上のローカルファイル
+ Amazon S3 バケット
+ Amazon Redshift でプロビジョニングされたクラスター (Amazon Redshift Serverless ではない)
+ AWS Glue Data Catalog Amazon Athena 経由
+ Amazon Aurora
+ Amazon Relational Database Service (Amazon RDS)
+ Salesforce Data Cloud
+ Snowflake
+ Databricks、SQLServer、MariaDB、およびその他の一般的なデータベース (JDBC コネクタを使用)
+ SAP OData などの 40 以上の外部 SaaS プラットフォーム

インポート元となるデータソースの完全なリストについては、次の表を参照してください。


| ソース | タイプ | サポートされているデータ型 | 
| --- | --- | --- | 
| ローカルファイルのアップロード | ローカル | 表形式、画像、ドキュメント | 
| Amazon Aurora | Amazon 内部 | 表形式 | 
| Amazon S3 バケット | Amazon 内部 | 表形式、画像、ドキュメント | 
| Amazon RDS | Amazon 内部 | 表形式 | 
| Amazon Redshift でプロビジョニングされたクラスター (Redshift Serverless ではない) | Amazon 内部 | 表形式 | 
| AWS Glue Data Catalog (Amazon Athena 経由) | Amazon 内部 | 表形式 | 
| [Databricks](https://www.databricks.com/) | 外部 | 表形式 | 
| Snowflake | 外部 | 表形式 | 
| [Salesforce Data Cloud](https://www.salesforce.com/products/genie/overview/) | 外部 | 表形式 | 
| SQLServer | 外部 | 表形式 | 
| MySQL | 外部 | 表形式 | 
| [PostgreSQL] | 外部 | 表形式 | 
| MariaDB | 外部 | 表形式 | 
| [Amplitude](https://docs.aws.amazon.com/appflow/latest/userguide/amplitude.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [CircleCI](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-circleci.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [DocuSign Monitor](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-docusign-monitor.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Domo](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-domo.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Datadog](https://docs.aws.amazon.com/appflow/latest/userguide/datadog.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Dynatrace](https://docs.aws.amazon.com/appflow/latest/userguide/dynatrace.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Facebook 広告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-ads.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Facebook Page Insights](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-page-insights.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Google 広告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-ads.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Google Analytics 4](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-analytics-4.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Google 検索コンソール](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-search-console.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [GitHub](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-github.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [GitLab](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-gitlab.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Infor Nexus](https://docs.aws.amazon.com/appflow/latest/userguide/infor-nexus.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Instagram 広告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-instagram-ads.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Jira Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-jira-cloud.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [LinkedIn 広告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [LinkedIn 広告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Mailchimp](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mailchimp.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Marketo](https://docs.aws.amazon.com/appflow/latest/userguide/marketo.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Microsoft Teams](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-microsoft-teams.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Mixpanel](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mixpanel.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Okta](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-okta.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Salesforce](https://docs.aws.amazon.com/appflow/latest/userguide/salesforce.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Salesforce Marketing Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-salesforce-marketing-cloud.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Salesforce Pardot](https://docs.aws.amazon.com/appflow/latest/userguide/pardot.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [SAP OData](https://docs.aws.amazon.com/appflow/latest/userguide/sapodata.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [SendGrid](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-sendgrid.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [ServiceNow](https://docs.aws.amazon.com/appflow/latest/userguide/servicenow.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Singular](https://docs.aws.amazon.com/appflow/latest/userguide/singular.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Slack](https://docs.aws.amazon.com/appflow/latest/userguide/slack.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Stripe](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-stripe.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Trend Micro](https://docs.aws.amazon.com/appflow/latest/userguide/trend-micro.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Typeform](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-typeform.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Veeva](https://docs.aws.amazon.com/appflow/latest/userguide/veeva.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Zendesk](https://docs.aws.amazon.com/appflow/latest/userguide/zendesk.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Zendesk Chat](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-chat.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Zendesk Sell](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sell.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Zendesk Sunshine](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sunshine.html) | 外部 SaaS プラットフォーム | 表形式 | 
| [Zoom Meetings](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zoom.html) | 外部 SaaS プラットフォーム | 表形式 | 

データのインポート方法や、画像の最大ファイルサイズなどの入力データの要件に関する情報については、「[データセットの作成](canvas-import-dataset.md)」を参照してください。

また、Canvas をすぐに使用できるように、サンプルデータセットもいくつか用意されています。SageMaker AI が提供する実験可能なサンプルデータセットの詳細については、「[サンプルデータセットを使用する](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-sample-datasets.html)」を参照してください。

データセットを Canvas にインポートした後は、いつでもデータセットを更新できます。手動で更新することも、データセットを自動更新するスケジュールを設定することもできます。詳細については、「[データセットを更新する](canvas-update-dataset.md)」を参照してください。

各データセットの詳細については、以下のセクションを参照してください。

**表形式**

外部データソース (Snowflake データベースや SaaS プラットフォームなど) からデータをインポートするには、認証後に Canvas アプリケーションでデータソースに接続する必要があります。詳細については、「[データソースに接続する](canvas-connecting-external.md)」を参照してください。

5 GB を超えるデータセットを Amazon S3 から Canvas にインポートする場合は、Amazon Athena を使用して Amazon S3 からデータのクエリとサンプリングを行うことで、より高速なサンプリングを実現できます。

Canvas でデータセットを作成したら、Data Wrangler のデータ準備機能を使用してデータを準備および変換できます。Data Wrangler を使用すると、欠損値の処理、特徴量の変換、1 つのデータセットへの複数のデータセットの結合などができます。詳細については、「[データ準備](canvas-data-prep.md)」を参照してください。

**ヒント**  
データが表形式である限り、Amazon Redshift、Amazon Athena、Snowflake など、さまざまなソースのデータセットを結合できます。

**画像**

画像データセットを編集し、ラベルの割り当てや再割り当て、画像の追加や削除などのタスクを実行する方法については、「[画像データセットを編集する](canvas-edit-image.md)」を参照してください。

# データセットの作成
<a name="canvas-import-dataset"></a>

**注記**  
5 GB を超えるデータセットを Amazon SageMaker Canvas にインポートする場合は、Canvas の [Data Wrangler 機能](canvas-data-prep.md)を使用してデータフローを作成することをお勧めします。Data Wrangler は、データの[結合](canvas-transform.md#canvas-transform-join)や[連結](canvas-transform.md#canvas-transform-concatenate)などの高度なデータ準備機能をサポートしています。データフローを作成したら、データフローを Canvas データセットとしてエクスポートして、モデルの構築を開始できます。詳細については、「[エクスポートしてモデルを作成する](canvas-processing-export-model.md)」を参照してください。

以下のセクションでは、Amazon SageMaker Canvas でデータセットを作成する方法について説明します。カスタムモデルでは、表形式データと画像データ用のデータセットを作成できます。Ready-to-use モデルでは、表形式データセット、画像データセット、ドキュメントデータセットを使用できます。以下の情報を参照して、ワークフローを選択してください。
+ カテゴリ、数値、テキスト、時系列データについては、「[表形式データをインポートする](#canvas-import-dataset-tabular)」を参照してください。
+ 画像データについては、「[画像データをインポートする](#canvas-import-dataset-image)」を参照してください。
+ ドキュメントデータについては、「[ドキュメントデータをインポートする](#canvas-ready-to-use-import-document)」を参照してください。

データセットは複数のファイルで構成できます。例えば、CSV 形式のインベントリデータのファイルが複数ある場合があります。ファイルのスキーマ (または列名とデータ型) が一致している場合、これらのファイルをデータセットとしてまとめてアップロードできます。

Canvas は、データセットの複数のバージョンの管理もサポートしています。データセットを作成すると、最初のバージョンには「`V1`」というラベルが付けられます。データセットを更新することで、データセットの新しいバージョンを作成できます。手動で更新することも、データセットを新しいデータで自動更新するスケジュールを設定することもできます。詳細については、「[データセットを更新する](canvas-update-dataset.md)」を参照してください。

データを Canvas にインポートする際は、データが以下の表の要件を満たしていることを確認する必要があります。制限は、作成するモデルのタイプによって異なります。


| 制限 | 2 カテゴリモデル、3\$1 カテゴリモデル、数値モデル、時系列モデル | テキスト予測モデル | 画像予測モデル | \$1Ready-to-use モデル用のドキュメントデータ | 
| --- | --- | --- | --- | --- | 
| サポートされているファイルタイプ |  CSV および Parquet (ローカルアップロード、Amazon S3、またはデータベース) JSON (データベース)  |  CSV および Parquet (ローカルアップロード、Amazon S3、またはデータベース) JSON (データベース)  | JPG、PNG | PDF、JPG、PNG、TIFF | 
| 最大ファイルサイズ |  ローカルアップロード: 5 GB データソース: PB  |  ローカルアップロード: 5 GB データソース: PB  | 1 画像あたり 30 MB | 1 ドキュメントあたり 5 MB | 
| 一度にアップロードできるファイルの最大数 | 30 | 30 | 該当なし | 該当なし | 
| 列の最大数 | 1,000 | 1,000 | 該当なし | 該当なし | 
| **クイックビルド**の最大エントリ数 (行、画像、またはドキュメント) | 該当なし | 7500 行 | 5000 画像 | 該当なし | 
| **標準ビルド**の最大エントリ数 (行、画像、またはドキュメント) | 該当なし | 150,000 行 | 180,000 画像 | 該当なし | 
| **クイックビルド**の最小エントリ数 (行) |  2 つのカテゴリ: 500 行 3\$1 カテゴリ、数値、時系列: 該当なし  | 該当なし | 該当なし | 該当なし | 
| **標準ビルド**の最小エントリ数 (行、画像、またはドキュメント) | 250 行 | 50 行 | 50 画像 | 該当なし | 
|  1 ラベルあたりの最小エントリ数 (行または画像) | 該当なし | 25 行 | 25 行 | 該当なし | 
| ラベルの最小数 |  2 カテゴリ: 2 3\$1 カテゴリ: 3 数値、時系列: 該当なし  | 2 | 2 | 該当なし | 
|  ランダムサンプリングの最小サンプルサイズ | 500 | 該当なし | 該当なし | 該当なし | 
|  ランダムサンプリングの最大サンプルサイズ | 200,000 件の | 該当なし | 該当なし | 該当なし | 
| ラベルの最大数 |  2 カテゴリ: 2 3\$1 カテゴリ、数値、時系列: 該当なし  | 1,000 | 1,000 | 該当なし | 

\$1ドキュメントデータは現在、ドキュメントデータを受け入れる [Ready-to-use](canvas-ready-to-use-models.md) モデルでのみサポートされています。ドキュメントデータを使用してカスタムモデルを構築することはできません。

以下の制限があることにも注意してください。
+ Amazon S3 バケットからデータをインポートする場合は、Amazon S3 バケット名に `.` が含まれていないことを確認してください。バケット名に `.` が含まれている場合、Canvas にデータをインポートしようとするとエラーが発生する可能性があります。
+ 表形式のデータの場合、Canvas では、ローカルアップロードと Amazon S3 インポートの両方で、.csv、.parquet、.parq、.pqt 以外の拡張子を持つファイルを選択できません。CSV ファイルにはカンマまたはカスタム区切り記号を使用でき、新しい行を示す場合以外、改行文字を含めることはできません。
+ Parquet ファイルを使用する表形式のデータについては、次の点に注意してください。
  + Parquet ファイルには、マップやリストのような複雑なタイプを含めることはできません。
  + Parquet ファイルの列名にはスペースを含めることはできません。
  + 圧縮を使用する場合、Parquet ファイルには gzip または snappy の圧縮タイプを使用する必要があります。こられの圧縮タイプの詳細については、[gzip ドキュメント](https://www.gzip.org/)および [snappy ドキュメント](https://github.com/google/snappy)を参照してください。
+ ラベルの付いていない画像データには、モデルを構築する前にラベルを付ける必要があります。Canvas アプリケーション内で画像にラベルを割り当てる方法については、「[画像データセットを編集する](canvas-edit-image.md)」を参照してください。
+ データセットの自動更新または自動バッチ予測設定を行う場合、Canvas アプリケーションで作成できる設定の合計は最大 20 個です。詳細については、「[自動化の管理方法](canvas-manage-automations.md)」を参照してください。

データセットをインポートした後は、**[データセット]** ページでいつでもデータセットを確認できます。

## 表形式データをインポートする
<a name="canvas-import-dataset-tabular"></a>

表形式のデータセットを使用すると、カテゴリ、数値、時系列予測、テキスト予測の各モデルを構築できます。上記の「**データセットをインポートする**」セクションの制限表で、データが表形式データの要件を満たしていることを確認してください。

表敬式のデータセットを Canvas にインポートするには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインの **[Dataset]** (データセット) を選択します。

1. **[データをインポート]** を選択します。

1. ドロップダウンメニューで、**[表形式]** を選択します。

1. ポップアップダイアログボックスの **[データセット名]** フィールドに、データセットの名前を入力して、**[作成]** を選択します。

1. **[表形式データセットの作成]** ページで、**[データソース]** ドロップダウンメニューを開きます。

1. データソースを選択します。
   + コンピュータからファイルをアップロードするには、**[ローカルアップロード]** を選択します。
   + Amazon S3 バケットや Snowflake データベースなど、他のソースからデータをインポートするには、**[検索データソースバー]** でデータソースを検索します。その後、インポートするデータソースのタイルを選択します。
**注記**  
データは接続が有効になっているタイルからのみインポートできます。利用できないデータソースに接続する場合は、管理者に連絡してください。管理者の方は、「[データソースに接続する](canvas-connecting-external.md)」を参照してください。

   次のスクリーンショットは、**[データソース]** ドロップダウンメニューを示しています。  
![\[[データソース] ドロップダウンメニュー、および検索バーでのデータソース検索のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/import-data-choose-source.png)

1. (オプション) Amazon Redshift または Snowflake データベースに初めて接続する場合、接続を作成するためのダイアログボックスが表示されます。ダイアログボックスに認証情報を入力し、**[接続の作成]** を選択します。既に接続がある場合は、接続を選択します。

1. データソースでインポートするファイルを選択します。ローカルアップロードと Amazon S3 からのインポートでは、ファイルを選択できます。Amazon S3 のみの場合、バケットまたは S3 アクセスポイントの S3 URI、エイリアス、または ARN を **[入力 S3 エンドポイント]** フィールドに直接入力してから、インポートするファイルを選択するオプションもあります。データベースソースの場合、左側のナビゲーションペインからデータテーブルをドラッグアンドドロップできます。

1. (オプション) SQL クエリをサポートする表形式のデータソース (Amazon Redshift、Amazon Athena、Snowflake など) では、**[SQL で編集]** を選択し、インポート前に SQL クエリを作成できます。

   次のスクリーンショットは、Amazon Athena データソースの **[SQL の編集]** ビューを示しています。  
![\[Amazon Athena データの [SQL の編集] ビューの SQL クエリを示すスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/import-data-edit-sql.png)

1. インポート前に **[データセットのプレビュー]** を選択してデータをプレビューできます。

1. **[インポートの設定]** で、**[データセット名]** を入力するか、デフォルトのデータセット名を使用します。

1. (オプション) Amazon S3 からインポートするデータには、**[詳細]** 設定が表示され、次のフィールドに入力できます。

   1. データセットの最初の行を列名として使用する場合は、**[最初の行をヘッダーとして使用する]** オプションをオンに切り替えます。複数のファイルを選択した場合、これは各ファイルに適用されます。

   1. CSV ファイルをインポートする場合は、**ファイルエンコーディング (CSV)** ドロップダウンでデータセットファイルのエンコーディングを選択します。 デフォルトは `UTF-8` です。

   1. **[区切り記号]** ドロップダウンで、データ内の各セルを区切る区切り記号を選択します。デフォルトの区切り記号は `,` です。カスタム区切り記号を指定することもできます。

   1. Canvas でデータセット全体を複数行のセル用に手動で解析する場合は、**[複数行の検出]** を選択します。デフォルトでは、このオプションは選択されず、Canvas はデータのサンプルを取得して、複数行のサポートを使用するかどうかを判断します。ただし、Canvas はサンプル内の複数行のセルを検出しない場合があります。複数行のセルがある場合は、**[複数行の検出]** オプションを選択して、Canvas にデータセット全体の複数行のセルを確認させることをお勧めします。

1. データをインポートする準備ができたら、**[データセットを作成]** を選択します。

データセットを Canvas にインポートしている間、**[データセット]** ページのリストにデータセットが表示されます。このページからは、[データセットの詳細を表示する](#canvas-view-dataset-details) を行えます。

データセットの **[ステータス]** に `Ready` と表示されたら、Canvas にデータが正常にインポートされ、[モデルの構築](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)を続行できます。

Amazon Redshift データベースや SaaS コネクタなどのデータソースに接続している場合は、その接続に戻ることができます。Amazon Redshift と Snowflake の場合、別のデータセットを作成して **[データのインポート]** ページに戻り、その接続の **[データソース]** タイルを選択することで、別の接続を追加できます。ドロップダウンメニューで前の接続を開くか、**[接続を追加]** を選択します。

**注記**  
SaaS プラットフォームでは、データソースごとに 1 つの接続しか使用できません。

## 画像データをインポートする
<a name="canvas-import-dataset-image"></a>

画像データセットを使用すると、画像のラベルを予測する単一ラベルの画像予測カスタムモデルを構築できます。上記の「**データセットをインポートする**」セクションの制限表を確認して、画像データセットが画像データの要件を満たしていることを確認してください。

**注記**  
画像データセットは、ローカルファイルのアップロードまたは Amazon S3 バケットからのみインポートできます。また画像データセットでは、1 つのラベルにつき少なくとも 25 個の画像が必要です。

画像データセットを Canvas にインポートするには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインの **[Dataset]** (データセット) を選択します。

1. **[データをインポート]** を選択します。

1. ドロップダウンメニューで、**[画像]** を選択します。

1. ポップアップダイアログボックスの **[データセット名]** フィールドに、データセットの名前を入力して、**[作成]** を選択します。

1. **[インポート]** ページで、**[データソース]** ドロップダウンメニューを開きます。

1.  データソースを選択します。コンピュータからファイルをアップロードするには、**[ローカルアップロード]** を選択します。Amazon S3 からファイルをインポートするには、**[Amazon S3]** を選択します。

1. コンピュータまたは Amazon S3 バケットで、アップロードする画像または画像フォルダを選択します。

1. データをインポートする準備ができたら、**[データをインポート]** を選択します。

データセットを Canvas にインポートしている間、**[データセット]** ページのリストにデータセットが表示されます。このページからは、[データセットの詳細を表示する](#canvas-view-dataset-details) を行えます。

データセットの **[ステータス]** に `Ready` と表示されたら、Canvas にデータが正常にインポートされ、[モデルの構築](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)を続行できます。

モデルの構築中は、画像データセットの編集、ラベルの割り当てや再割り当て、画像の追加、データセットからの画像の削除を行うことができます。画像データセットの編集方法の詳細については、「[画像データセットを編集する](canvas-edit-image.md)」を参照してください。

## ドキュメントデータをインポートする
<a name="canvas-ready-to-use-import-document"></a>

経費分析、身分証明書分析、ドキュメント分析、ドキュメントクエリ用の Ready-to-use モデルは、ドキュメントデータをサポートします。ドキュメントデータを使用してカスタムモデルを構築することはできません。

ドキュメントデータセットを使用すると、経費分析、身分証明書分析、ドキュメント分析、ドキュメントクエリを Ready-to-use モデルで実行できます。「[データセットの作成](#canvas-import-dataset)」セクションの制限表を確認して、ドキュメントデータセットがドキュメントデータの要件を満たしていることを確認してください。

**注記**  
ドキュメントデータセットは、ローカルファイルのアップロードまたは Amazon S3 バケットからのみインポートできます。

ドキュメントデータセットを Canvas にインポートするには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインの **[Dataset]** (データセット) を選択します。

1. **[データをインポート]** を選択します。

1. ドロップダウンメニューで、**[ドキュメント]** を選択します。

1. ポップアップダイアログボックスの **[データセット名]** フィールドに、データセットの名前を入力して、**[作成]** を選択します。

1. **[インポート]** ページで、**[データソース]** ドロップダウンメニューを開きます。

1.  データソースを選択します。コンピュータからファイルをアップロードするには、**[ローカルアップロード]** を選択します。Amazon S3 からファイルをインポートするには、**[Amazon S3]** を選択します。

1. コンピュータまたは Amazon S3 バケットで、アップロードするドキュメントファイルを選択します。

1. データをインポートする準備ができたら、**[データをインポート]** を選択します。

データセットを Canvas にインポートしている間、**[データセット]** ページのリストにデータセットが表示されます。このページからは、[データセットの詳細を表示する](#canvas-view-dataset-details) を行えます。

データセットの **[ステータス]** が `Ready` と表示されたら、データが Canvas に正常にインポートされたことを示します。

**[データセット]** ページでは、データセットを選択してプレビューできます。プレビューでは、データセットの最初の 100 件のドキュメントが表示されます。

## データセットの詳細を表示する
<a name="canvas-view-dataset-details"></a>



各データセットでは、データセット内のすべてのファイル、データセットのバージョン履歴、およびデータセットの自動更新設定を確認できます。**[データセット]** ページから、[データセットを更新する](canvas-update-dataset.md) や [カスタムモデルの仕組み](canvas-build-model.md) などのアクションを開始することもできます。

データセットの詳細を表示するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインの **[Dataset]** (データセット) を選択します。

1. データセットリストで、データセットを選択します。

**[データ]** タブにデータのプレビューが表示されます。**[データセットの詳細]** を選択すると、データセットに含まれるすべてのファイルが表示されます。ファイルを選択すると、選択したファイルのデータのみがプレビューに表示されます。画像データセットのプレビューでは、データセットの最初の 100 個の画像のみが表示されます。

**[バージョン履歴]** タブには、データセットのすべてのバージョンのリストが表示されます。データセットを更新するたびに、新しいバージョンが作成されます。データセットの更新の詳細については、「[データセットを更新する](canvas-update-dataset.md)」を参照してください。次のスクリーンショットは、Canvas アプリケーションの **[バージョン履歴]** タブを示しています。

![\[データセットの [バージョン履歴] タブとデータセットのバージョン一覧のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-version-history.png)


**[自動更新]** タブでは、データセットの自動更新を有効にして、データセットの定期的な更新を設定できます。データセットの自動更新の詳細については、「[データセットの自動更新を設定する](canvas-update-dataset-auto.md)」を参照してください。次のスクリーンショットは、自動更新が有効になっている **[自動更新]** タブと、データセットに対して実行された自動更新ジョブのリストを示しています。

![\[自動更新が有効になっており、自動更新ジョブのリストを示しているデータセットの [自動更新] タブ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-auto-updates.png)


# データセットを更新する
<a name="canvas-update-dataset"></a>

最初のデータセットを Amazon SageMaker Canvas にインポートした後で、データセットへの追加のデータがある場合があります。例えば、データセットに追加するインベントリデータを毎週末に受け取る場合があります。データを複数回インポートする代わりに、既存のデータセットを更新してファイルの追加や削除を行うことができます。

**注記**  
更新できるデータセットは、ローカルアップロードまたは Amazon S3 を通じてインポートしたデータセットのみです。

データセットは手動または自動で更新できます。データセットの自動更新の詳細については、「[データセットの自動更新を設定する](canvas-update-dataset-auto.md)」を参照してください。

データセットを更新するたびに、Canvas はデータセットの新しいバージョンを作成します。モデルの構築や予測の生成には、データセットの最新バージョンのみを使用できます。データセットのバージョン履歴の表示方法の詳細については、「[データセットの詳細を表示する](canvas-import-dataset.md#canvas-view-dataset-details)」を参照してください。

データセットの更新を自動バッチ予測と併用することもできます。自動バッチ予測は、データセットを更新するたびにバッチ予測ジョブを開始します。詳細については、「[SageMaker Canvas でのバッチ予測](canvas-make-predictions-batch.md)」を参照してください。

以下のセクションでは、データセットの手動更新を行う方法について説明します。

## データセットを手動で更新する
<a name="canvas-update-dataset-manual"></a>

手動で更新するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインの **[Dataset]** (データセット) を選択します。

1. データセットのリストで、更新するデータセットを選択します。

1. **[データセットの更新]** ドロップダウンメニューを選択して、**[手動更新]** を選択します。データのインポートワークフローが表示されます。

1. **[データソース]** ドロップダウンメニューで、**[ローカルアップロード]** または **[Amazon S3]** を選択します。

1. このページには、データのプレビューが表示されます。このページで、データセットへのファイルの追加、またはデータセットからのファイルの削除を行えます。表形式データをインポートする場合、新しいファイルのスキーマ (列名とデータ型) は既存のファイルのスキーマと一致する必要があります。また新しいファイルは、データセットの最大サイズまたはファイルサイズを超えることはできません。これらの制限の詳細については、「[Import a dataset](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html)」を参照してください。
**注記**  
データセット内の既存のファイルと同じ名前のファイルを追加すると、新しいファイルで古いバージョンのファイルが上書きされます。

1. 変更を保存する準備ができたら、**[データセットの更新]** を選択します。

これで、新しいバージョンのデータセットが完成しました。

**[データセット]** ページで **[バージョン履歴]** タブを選択すると、データセットのすべてのバージョンと行った手動更新と自動更新の両方の履歴が表示されます。

# データセットの自動更新を設定する
<a name="canvas-update-dataset-auto"></a>

最初のデータセットを Amazon SageMaker Canvas にインポートした後で、データセットへの追加のデータがある場合があります。例えば、データセットに追加するインベントリデータを毎週末に受け取る場合があります。データを複数回インポートする代わりに、既存のデータセットを更新してファイルの追加や削除を行うことができます。

**注記**  
更新できるデータセットは、ローカルアップロードまたは Amazon S3 を通じてインポートしたデータセットのみです。

データセットの自動更新では、指定した頻度で Canvas がファイルをチェックする場所を指定します。更新中に新しいファイルをインポートする場合、ファイルのスキーマは既存のデータセットと完全に一致する必要があります。

データセットを更新するたびに、Canvas はデータセットの新しいバージョンを作成します。モデルの構築や予測の生成には、データセットの最新バージョンのみを使用できます。データセットのバージョン履歴の表示方法の詳細については、「[データセットの詳細を表示する](canvas-import-dataset.md#canvas-view-dataset-details)」を参照してください。

データセットの更新を自動バッチ予測と併用することもできます。自動バッチ予測は、データセットを更新するたびにバッチ予測ジョブを開始します。詳細については、「[SageMaker Canvas でのバッチ予測](canvas-make-predictions-batch.md)」を参照してください。

以下のセクションでは、データセットの自動更新を行う方法について説明します。

自動更新では、データセットを特定の頻度で更新するように Canvas を設定します。データセットに定期的に追加する新しいデータファイルがある場合は、このオプションを使用することをお勧めします。

自動更新設定を行う際は、ファイルをアップロードする Amazon S3 の場所、および Canvas が場所を確認してファイルをインポートする頻度を指定します。データセットを更新する Canvas の各インスタンスは、*ジョブ*と呼ばれます。各ジョブで、Canvas は Amazon S3 ロケーションにあるすべてのファイルをインポートします。データセット内の既存のファイルと同じ名前のファイルを追加すると、Canvas は新しいファイルで古いバージョンのファイルを上書きします。

データセットを自動更新では、Canvas はスキーマの検証を行いません。自動更新中にインポートされたファイルのスキーマが既存のファイルのスキーマと一致しないか、サイズ制限を超えている場合 (ファイルサイズ制限の表については、「[データセットをインポートする](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html)」を参照)、ジョブの実行時にエラーが発生します。

**注記**  
Canvas アプリケーションで設定できる自動更新は最大 20 件までです。また、Canvas は ユーザーが Canvas アプリケーションにログインしている間のみ自動更新を行います。Canvas アプリケーションからログアウトすると、ログインし直すまで自動更新は一時停止します。

データセットの自動更新を設定するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインの **[Dataset]** (データセット) を選択します。

1. データセットのリストで、更新するデータセットを選択します。

1. **[データセットの更新]** ドロップダウンメニューを選択して、**[自動更新]** を選択します。データセットの **[自動更新]** タブが表示されます。

1. **[自動更新を有効化** トグルを有効にします。

1. **[データソースの指定]** に、定期的にファイルをアップロードするフォルダへの Amazon S3 パスを入力します。

1. **[頻度の選択]** で、**[毎時]**、**[毎週]**、または **[毎日]** を選択します。

1. **[開始時刻の指定]** で、カレンダーとタイムピッカーを使用して、最初の自動更新ジョブを開始する時刻を選択します。

1. 自動更新設定を作成する準備ができたら、**[保存]** を選択します。

Canvas は、指定された開始時間に自動更新ケイデンスの最初のジョブを開始します。

# データセットの自動更新ジョブを表示する
<a name="canvas-update-dataset-auto-view"></a>

Amazon SageMaker Canvas でデータセットの自動更新ジョブ履歴を表示するには、データセットの詳細ページで **[自動更新]** タブを選択します。

データセットの各自動更新ジョブは、**[ジョブ履歴]** セクションの **[自動更新]** タブに表示されます。それぞれのジョブでは、次の操作を行えます。
+ **ジョブの作成日時** — Canvas がデータセットの更新を開始した際のタイムスタンプ。
+ **ファイル** — データセット内のファイル数。
+ **セル (列 x 行)** — データセット内の列と行の数。
+ **ステータス** — 更新後のデータセットのステータス。ステータスが **[準備完了]** の場合、ジョブは正常に完了しています。何らかの理由でジョブが失敗した場合、ステータスは **[失敗]** になります。ステータスにカーソルを合わせると詳細が表示されます。

# データセットの自動更新設定を編集する
<a name="canvas-update-dataset-auto-edit"></a>

更新頻度の変更など、データセットの自動更新設定を変更する場合があります。また、自動更新設定を無効にして、データセットの更新を一時停止する場合もあります。

データセットの自動更新設定を変更するには、データセットの **[自動更新]** タブに移動して、**[編集]** を選択します。

データセットの更新を一時停止するには、自動設定を無効にします。自動更新を無効にするには、データセットの **[自動更新]** タブに移動して、**[自動更新の有効化]** トグルを無効にします。このトグルを有効に戻すと、いつでも更新スケジュールを再開できます。

設定の削除方法については、「[自動設定を削除する](canvas-manage-automations-delete.md)」を参照してください。

# データソースに接続する
<a name="canvas-connecting-external"></a>

Amazon SageMaker Canvas では、JDBC コネクタを使用して、 AWS サービス、SaaS プラットフォーム、またはその他のデータベースを介して、ローカルファイルシステム外の場所からデータをインポートできます。例えば、Amazon Redshift のデータウェアハウスから表をインポートする場合や、Google Analytics データをインポートする場合があります。

**インポート**ワークフローを実行して Canvas アプリケーションにデータをインポートする場合、データソースを選択してから、インポートするデータを選択します。Snowflake や Amazon Redshift などの特定のデータソースでは、認証情報を指定し、データソースへの接続を追加する必要があります。

次のスクリーンショットは、使用可能なすべてのデータソースが強調表示されている**インポート**ワークフローのデータソースツールバーを示しています。使用可能なデータソースからのみデータをインポートできます。希望するデータソースが利用できない場合は、管理者に問い合わせてください。

![\[Canvas の [インポート] ページの [データソース] ドロップダウンメニュー。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/data-sources.png)


以下のセクションでは、外部データソースとの接続の確立、および外部データソースからのデータのインポートについて説明します。まず、次のセクションを確認して、データソースからデータをインポートするのに必要な権限を決定してください。

## 権限
<a name="canvas-connecting-external-permissions"></a>

次の情報を確認して、データソースからデータをインポートするのに必要な権限があることを確認してください。
+ **Amazon S3:** ユーザーがバケットにアクセスする権限を持っている場合、Amazon S3 バケットからデータをインポートできます。 AWS IAM を使用して Amazon S3 バケットへのアクセスを制御する方法の詳細については、「Amazon [Amazon S3 ユーザーガイド」の「Amazon S3 での Identity and Access Management](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)」を参照してください。 *Amazon S3 *
+ **Amazon Athena:** [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) ポリシーと [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーがユーザーの実行ロールにアタッチされている場合は、Amazon Athena AWS Glue Data Catalog で をクエリできます。Athena ワークグループに参加している場合は、Canvas ユーザーがデータに対して Athena クエリを実行する権限を持っていることを確認してください。詳細については、「Amazon Athena ユーザーガイド」の「[クエリを実行するためのワークグループの使用](https://docs.aws.amazon.com/athena/latest/ug/workgroups.html)」を参照してください。**
+ **Amazon DocumentDB:** データベースに接続するための認証情報 (ユーザー名とパスワード) があり、ユーザーの実行ロールに最低限の Canvas 基本権限がアタッチされている限り、任意の Amazon DocumentDB データベースからデータをインポートできます。Canvas の権限の詳細については、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」を参照してください。
+ **Amazon Redshift:** Amazon Redshift からデータをインポートするために必要なアクセス権限を自分に付与するには、「[Grant Users Permissions to Import Amazon Redshift Data](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-redshift-permissions.html)」を参照してください。
+ **Amazon RDS:** ユーザーの実行ロールに [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーがアタッチされている場合、Canvas から Amazon RDS データベースにアクセスできます。
+ **SaaS プラットフォーム:** ユーザーの実行ロールに [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) ポリシーと [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーがアタッチされている場合は、SaaS プラットフォームからデータをインポートするために必要な権限が付与されています。特定の SaaS コネクタへの接続の詳細については、「[Canvas で SaaS コネクタを使用する](#canvas-connecting-external-appflow)」を参照してください。
+ **JDBC コネクタ:** Databricks、MySQL、または MariaDB などのデータベースソースでは、Canvas から接続する前に、ソースデータベースでユーザー名とパスワードの認証を有効にする必要があります。Databricks データベースに接続する場合は、必要な認証情報を含む JDBC URL が必要です。

## に保存されているデータベースに接続する AWS
<a name="canvas-connecting-internal-database"></a>

保存したデータをインポートできます AWS。Amazon S3 からデータをインポートしたり、Amazon Athena を使用して 内のデータベースをクエリしたり AWS Glue Data Catalog、[Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) からデータをインポートしたり、プロビジョニングされた Amazon Redshift データベース (Redshift Serverless ではない) に接続したりできます。

Amazon Redshift への複数の接続を作成することができます。Amazon Athena では、[AWS Glue Data Catalog](https://docs.aws.amazon.com/prescriptive-guidance/latest/serverless-etl-aws-glue/aws-glue-data-catalog.html) にあるすべてのデータベースにアクセスできます。Amazon S3 では、必要な権限がある限り、バケットからデータをインポートできます。

詳細については、以下のセクションを参照してください。

### Amazon S3、Amazon Athena、または Amazon RDS のデータに接続する
<a name="canvas-connecting-internal-database-s3-athena"></a>

Amazon S3 では、バケットへのアクセス権限を持っているユーザーは、Amazon S3 バケットからデータをインポートできます。

Amazon Athena では、Amazon Athena ワークグループを通じてアクセス許可を持っている AWS Glue Data Catalog 限り、 のデータベースにアクセスできます。 [Amazon Athena ](https://docs.aws.amazon.com/athena/latest/ug/manage-queries-control-costs-with-workgroups.html)

Amazon RDS では、ロールに [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーがアタッチされているユーザーは、Amazon RDS データベースから Canvas にデータをインポートできます。

Amazon S3 バケットからのデータのインポート、または Amazon Athena でクエリを実行したデータテーブルのインポートについては、「[データセットの作成](canvas-import-dataset.md)」を参照してください。Amazon Athena からは表形式のデータのみをインポートでき、Amazon S3 からは表形式データと画像データをインポートできます。

### Amazon DocumentDB データベースに接続する
<a name="canvas-connecting-docdb"></a>

Amazon DocumentDB は、フルマネージド型のサーバーレスドキュメントデータベースサービスです。Amazon DocumentDB データベースに保存されている非構造化ドキュメントデータを表形式データセットとして SageMaker Canvas にインポートし、そのデータを使用して機械学習モデルを構築できます。

**重要**  
Amazon DocumentDB に接続を追加するには、SageMaker AI ドメインを **[VPC のみ]** モードで設定する必要があります。アクセスできるのは、Canvas アプリケーションと同じ Amazon VPC 内の Amazon DocumentDB クラスターのみです。また、Canvas は TLS 対応の Amazon DocumentDB クラスターにのみ接続できます。**[VPC のみ]** モードで Canvas を設定する方法の詳細については、「[インターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する](canvas-vpc.md)」を参照してください。

Amazon DocumentDB データベースからデータをインポートするには、データベース接続を作成するときに Amazon DocumentDB データベースにアクセスし、ユーザー名とパスワードを指定するための認証情報が必要です。Amazon DocumentDB ユーザーのアクセス許可を変更すると、より詳細なアクセス許可を設定し、アクセスを制限することができます。Amazon DocumentDB でのアクセスコントロールの詳細については、*Amazon DocumentDB デベロッパーガイド*の「[Database Access Using Role-Based Access Control](https://docs.aws.amazon.com/documentdb/latest/developerguide/role_based_access_control.html)」を参照してください。

Amazon DocumentDB からインポートする際、Canvas ではフィールドをテーブル内の列にマッピングすることで、非構造化データを表形式データセットに変換します。データ内の複合フィールド (またはネストされた構造) ごとに追加のテーブルが作成されます。列は複合フィールドのサブフィールドに対応します。このプロセスの詳細とスキーマ変換の例については、「[Amazon DocumentDB JDBC Driver Schema Discovery](https://github.com/aws/amazon-documentdb-jdbc-driver/blob/develop/src/markdown/schema/schema-discovery.md)」GitHub ページを参照してください。

Canvas では、Amazon DocumentDB の 1 つのデータベースにのみ接続できます。別のデータベースからデータをインポートするには、新しい接続を作成する必要があります。

Amazon DocumentDB から Canvas にデータをインポートするには、次の方法を使用します。
+ [データセットの作成](canvas-import-dataset.md)。Amazon DocumentDB データをインポートし、Canvas で表形式のデータセットを作成します。この方法を選択した場合は、「[表形式データをインポートする](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html#canvas-import-dataset-tabular)」手順に従ってください。
+ [データセットを作成する](canvas-data-flow.md)。Canvas でデータ準備パイプラインを作成し、Amazon DocumentDB データベースをデータソースとして追加します。

データのインポートを続行するには、前のリストでリンクされたいずれかの方法の手順に従います。

ワークフローでデータソースを選択するステップ (データセットを作成するためのステップ 6、またはデータフローを作成するためのステップ 8)に到達したら、以下を実行します。

1. **[データソース]** でドロップダウンメニューを開いて、**[DocumentDB]** を選択します。

1. **[接続を追加]** を選択します。

1. ダイアログボックスで、Amazon DocumentDB の認証情報を指定します。

   1. **[接続名]** を入力します。この名前は Canvas でこの接続を識別するために使用されます。

   1. **[クラスター]** では、データを保存する Amazon DocumentDB でクラスターを選択します。Canvas によって、Canvas アプリケーションと同じ VPC 内の Amazon DocumentDB クラスターがドロップダウンメニューに自動的に入力されます。

   1. Amazon DocumentDB クラスターの **[ユーザー名]** を入力します。

   1. Amazon DocumentDB クラスターの **[パスワード]** を入力します。

   1. 接続先の **[データベース]** の名前を入力します。

   1. **[読み込み設定]** オプションは、Canvas がクラスターでデータを読み取るインスタンスのタイプを決定します。次のいずれかを選択します。
      + **セカンダリ優先** — Canvas はデフォルトでクラスターのセカンダリインスタンスから読み取るように設定されていますが、セカンダリインスタンスが使用不可の場合は、プライマリインスタンスから読み取られます。
      + **セカンダリ** – Canvas はクラスターのセカンダリインスタンスからのみ読み取ります。これにより、読み取りオペレーションがクラスターの通常の読み取りおよび書き込み操作に干渉するのを防止できます。

   1. **[接続を追加]** を選択します。次の図は、Amazon DocumentDB 接続のための前述のフィールドを含むダイアログボックスを示しています。  
![\[Canvas の [新しい DocumentDB 接続を追加] ダイアログボックスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/add-docdb-connection.png)

これで Amazon DocumentDB 接続が確立されたため、Canvas で Amazon DocumentDB データを使用してデータセットまたはデータフローを作成できるようになりました。

### Amazon Redshift データベースに接続する
<a name="canvas-connecting-redshift"></a>

組織がデータを保持するデータウェアハウスである、Amazon Redshift からデータをインポートできます。Amazon Redshift からデータをインポートする前に、使用する AWS IAM ロールに `AmazonRedshiftFullAccess`管理ポリシーがアタッチされている必要があります。このポリシーをアタッチする方法については、「[Amazon Redshift データをインポートする権限をユーザーに付与する](canvas-redshift-permissions.md)」を参照してください。

Amazon Redshift からデータをインポートするには、次の手順に従います。

1. Amazon Redshift データベースへの接続を作成します。

1. インポートするデータを選択します。

1. データをインポートします。

Amazon Redshift エディタを使用すると、データセットをインポートペインにドラッグし、SageMaker Canvas にインポートできます。データセットで返される値をより詳細に制御するには、以下を使用します。
+ SQL クエリ
+ Joins

SQL クエリを使用すると、データセット内の値のインポート方法をカスタマイズできます。例えば、データセットで返される列や、列の値の範囲を指定できます。

結合を使用すると、Amazon Redshift の複数のデータセットを 1 つのデータセットに結合できます。データセットは、Amazon Redshift からパネルにドラッグすることによって結合できます。

SQL エディタを使用すると、結合したデータセットを編集したり、結合したデータセットを 1 つのノードに変換したりできます。別のデータセットをノードに結合できます。選択したデータを SageMaker Canvas にインポートできます。

次の手順に従って、Amazon Redshift からデータをインポートします。

1. SageMaker Canvas アプリケーションで、**[データセット]** ページに移動します。

1. **[データをインポート]** を選択して、ドロップダウンメニューで **[表形式]** を選択します。

1. データセットの名前を入力し、**[作成]** を選択します。

1. **[データソース]** でドロップダウンメニューを開いて、**[Redshift]** を選択します。

1. **[接続を追加]** を選択します。

1. ダイアログボックスで、Amazon Redshift の認証情報を指定します。

   1. **[認証方法]** で **[IAM]** を選択します。

   1. **[クラスター識別子]** を入力して、接続するクラスターを指定します。Amazon Redshift クラスターの完全なエンドポイントではなく、クラスター識別子のみを入力します。

   1. 接続するデータベースの **[データベース名]** を入力します。

   1. **[データベースユーザー]** を入力して、データベースへの接続に使用するユーザーを特定します。

   1. **[ARN]** に、Amazon Redshift クラスターがデータを移動して Amazon S3 に書き込むことを引き受けるロールの IAM ロール ARN を入力します。このロールの詳細については、[「Amazon Redshift 管理ガイド」の「Amazon Redshift がユーザーに代わって他の AWS サービスにアクセスすることを許可する](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html)」を参照してください。 **

   1. **[接続名]** を入力します。この名前は Canvas でこの接続を識別するために使用されます。

1. 接続の名前が表示されているタブから、インポートする.csv ファイルを **[Drag and drop table to import]** (インポートするテーブルをドラッグアンドドロップ) ペインにドラッグします。

1. オプション: 追加のテーブルをインポートペインにドラッグします。GUI を使用してテーブルを結合できます。結合の詳細を確認するには、**[Edit in SQL]** (SQL で編集) を選択します。

1. オプション: SQL を使用してデータをクエリする場合は、**[Context]** (コンテキスト) をクリックし、以下の値を指定して、接続にコンテキストを追加できます。
   + **ウェアハウス**
   + **データベース**
   + **スキーマ**

1. **[データをインポート]** を選択します。

以下の画像は、Amazon Redshift 接続で指定されるフィールドの例を示しています。

![\[Canvas の [新しい Redshift 接続を追加] ダイアログボックスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-add-connection.png)


以下の画像は、Amazon Redshift でデータセットを結合するために使用されるページを示しています。

![\[結合されている 2 つのデータセットを示している、Canvas の [インポート] ページのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-join.png)


以下の画像は、Amazon Redshift で結合を編集するために使用される SQL クエリを示しています。

![\[Canvas の [インポート] ページの [SQL を編集する] エディタでの SQL クエリのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-edit-sql.png)


## JDBC コネクタを使用してデータに接続する
<a name="canvas-connecting-jdbc"></a>

JDBC を使用すると、Databricks、SQLServer、MySQL、PostgreSQL、MariaDB、Amazon RDS、Amazon Aurora などのソースからデータベースに接続できます。

Canvas から接続を作成するための認証情報と権限があることを確認する必要があります。
+ Databricks の場合は、JDBC URL を指定する必要があります。URL フォーマットは Databricks インスタンスによって異なる場合があります。URL の検索とその URL 内のパラメーターの指定について詳しくは、Databricks のドキュメントの「[JDBC 設定と接続パラメーター](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-configuration-and-connection-parameters)」を参照してください。以下は URL のフォーマットの例です。 `jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token`
+ 他のデータベースソースでは、ユーザー名とパスワードによる認証を設定し、Canvas からデータベースに接続する際にそれらの認証情報を指定する必要があります。

また、データソースはパブリックインターネット経由でアクセス可能である必要があります。または、Canvas アプリケーションが **VPC のみ**モードで実行されている場合は、データソースを同じ VPC 内で実行する必要があります。VPC での Amazon RDS データベースの設定の詳細については、「Amazon RDS ユーザーガイド」の「[Amazon VPC VPC とAmazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)」を参照してください。**

データソースの認証情報を設定したら、Canvas アプリケーションにサインインして、データソースへの接続を作成します。接続を作成する際に、認証情報 (Databricks の場合は URL) を指定します。

## OAuth を使用してデータソースに接続する
<a name="canvas-connecting-oauth"></a>

Canvas は、Snowflake と Salesforce Data Cloud 内のデータに接続するための認証方法として OAuth の使用をサポートしています。[OAuth](https://oauth.net/2/) は、パスワードを共有せずにリソースへのアクセスを許可するための一般的な認証プラットフォームです。

**注記**  
各データソースで確立できる OAuth 接続は 1 つのみです。

接続を認可するには、「[OAuth を使用してデータソースへの接続を設定する](canvas-setting-up-oauth.md)」で説明されている初期設定に従う必要があります。

OAuth 認証情報を設定したら、次の操作を行って OAuth による Snowflake 接続または Salesforce Data Cloud 接続を追加できます。

1. Canvas アプリケーションにサインインします。

1. 表形式のデータセットを作成します。データをアップロードするように求められたら、データソースとして Snowflake または Salesforce Data Cloud を選択します。

1. Snowflake または Salesforce Data Cloud のデータソースへの新しい接続を作成します。認証方法として OAuth を指定し、接続の詳細を入力します。

これで、Snowflake または Salesforce Data Cloud のデータベースからデータをインポートできるようになりました。

## SaaS プラットフォームに接続する
<a name="canvas-connecting-saas"></a>

ユーザーは、Snowflake および 40 以上の外部 SaaS プラットフォームからデータをインポートできます。コネクタの完全なリストについては、「[データのインポート](canvas-importing-data.md)」の表を参照してください。

**注記**  
SaaS プラットフォームからは、データテーブルなどの表形式データのみインポートできます。

### Snowflake を Canvas で使用する
<a name="canvas-using-snowflake"></a>

Snowflake はデータストレージおよび分析サービスで、ユーザーは Snowflake から SageMaker Canvas にデータをインポートできます。Snowflake の詳細については、「[Snowflake ウェブサイト](https://www.snowflake.com/en/)」を参照してください。

Snowflake アカウントからデータをインポートするには、次の手順に従います。

1. Snowflake データベースへの接続を作成します。

1. 左側のナビゲーションメニューからテーブルをエディタにドラッグアンドドロップして、インポートするデータを選択します。

1. データをインポートします。

Snowflake エディタを使用すると、データセットをインポートペインにドラッグし、SageMaker Canvas にインポートできます。データセットで返される値をより詳細に制御するには、以下を使用します。
+ SQL クエリ
+ Joins

SQL クエリを使用すると、データセット内の値のインポート方法をカスタマイズできます。例えば、データセットで返される列や、列の値の範囲を指定できます。

SQL または Canvas インターフェイスを使用して Canvas にインポートする前に、複数の Snowflake データセットを 1 つのデータセットに結合できます。Snowflake からデータセットをドラッグしてデータセットを結合したり、SQL で結合を編集して SQL を単一ノードに変換したりできます。変換したノードには他のノードを結合できます。結合したデータセットを 1 つのノードに結合すると、そのノードを別の Snowflake データセットに結合できます。その後、選択したデータを Canvas にインポートできます。

次の手順に従って、Snowflake から Amazon SageMaker Canvas にデータをインポートします。

1. SageMaker Canvas アプリケーションで、**[データセット]** ページに移動します。

1. **[データをインポート]** を選択して、ドロップダウンメニューで **[表形式]** を選択します。

1. データセットの名前を入力し、**[作成]** を選択します。

1. **[データソース]** でドロップダウンメニューを開いて、**[Snowflake]** を選択します。

1. **[接続を追加]** を選択します。

1. **[新しい Snowflake 接続の追加]** ダイアログボックスで、Snowflake の認証情報を指定します。**[認証方法]** では、次のいずれかを選択します。
   + **基本 - ユーザー名パスワード** - Snowflake アカウント ID、ユーザー名、パスワードを指定します。
   + **ARN** – Snowflake 認証情報の保護を向上させるには、認証情報を含む AWS Secrets Manager シークレットの ARN を指定します。詳細については、「 *AWS Secrets Manager ユーザーガイド*[」の「 AWS Secrets Manager シークレット](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)の作成」を参照してください。

     シークレットには、Snowflake 認証情報が次の JSON 形式で保存されている必要があります。

     ```
     {"accountid": "ID",
     "username": "username",
     "password": "password"}
     ```
   + **OAuth** – OAuth を選択すると、パスワードを入力しなくても認証できますが、追加の設定が必要です。Snowflake 用の OAuth 認証情報設定の詳細については、「[OAuth を使用してデータソースへの接続を設定する](canvas-setting-up-oauth.md)」を参照してください。

1. **[接続を追加]** を選択します。

1. 接続の名前が表示されているタブから、インポートする.csv ファイルを **[Drag and drop table to import]** (インポートするテーブルをドラッグアンドドロップ) ペインにドラッグします。

1. オプション: 追加のテーブルをインポートペインにドラッグします。ユーザーインターフェイスを使用してテーブルを結合できます。結合の詳細を確認するには、**[Edit in SQL]** (SQL で編集) を選択します。

1. オプション: SQL を使用してデータをクエリする場合は、**[Context]** (コンテキスト) をクリックし、以下の値を指定して、接続にコンテキストを追加できます。
   + **ウェアハウス**
   + **データベース**
   + **スキーマ**

   接続にコンテキストを追加すると、後でクエリを指定しやすくなります。

1. **[データをインポート]** を選択します。

以下の画像は、Snowflake 接続で指定されるフィールドの例を示しています。

![\[Canvas [新しい Snowflake 接続を追加] ダイアログボックスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-connection.png)


以下の画像は、接続にコンテキストを追加するために使用されるページを示しています。

![\[[コンテキスト] ダイアログボックスを示している、Canvas の [インポート] ページのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-connection-context.png)


以下の画像は、Snowflake でデータセットを結合するために使用されるページを示しています。

![\[結合するデータセットを示している、Canvas の [インポート] ページのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-join.png)


以下の画像は、Snowflake で結合を編集するために使用される SQL クエリを示しています。

![\[Canvas の [インポート] ページの [SQL を編集する] エディタでの SQL クエリのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-edit-sql.png)


### Canvas で SaaS コネクタを使用する
<a name="canvas-connecting-external-appflow"></a>

**注記**  
SaaS プラットフォームでは、Snowflake に加えて、データソースごとに 1 つの接続しか使用できません。

SaaS プラットフォームからデータをインポートする前に、管理者は認証を行い、データソースへの接続を作成する必要があります。管理者が SaaS プラットフォームとの接続を作成する方法の詳細については、「Amazon AppFlow ユーザーガイド」の「[Amazon AppFlow 接続の管理](https://docs.aws.amazon.com/appflow/latest/userguide/connections.html)」を参照してください。**

Amazon AppFlow を初めて使い始める管理者の場合は、「Amazon AppFlow ユーザーガイド」の「[Amazon AppFlow の開始方法](https://docs.aws.amazon.com/appflow/latest/userguide/getting-started.html)」を参照してください。**

SaaS プラットフォームからデータをインポートするには、標準の「[表形式データをインポートする](canvas-import-dataset.md#canvas-import-dataset-tabular)」手順に従って表形式のデータセットを Canvas にインポートします。

# Canvas のサンプルデータセット
<a name="canvas-sample-datasets"></a>

SageMaker Canvas には、個別のユースケースに対応するサンプルデータセットが用意されているため、コードを記述することなくモデルの構築、トレーニング、検証をすぐに開始できます。これらのデータセットに関連するユースケースでは SageMaker Canvas の機能を使用しており、これらのデータセットを活用してモデルの構築を開始できます。サンプルデータセットは、SageMaker Canvas アプリケーションの **[データセット]** ページにあります。

以下のデータセットは、SageMaker Canvas がデフォルトで提供するサンプルです。これらのデータセットは、住宅価格、債務不履行、糖尿病患者の再入院の予測、売上予測、製造部門の予知保全を効率化するための機械故障予測、輸送と物流のサプライチェーン予測の生成などのユースケースを対象としています。このデータセットは、SageMaker AI がリージョンのアカウント用に作成するデフォルトの Amazon S3 バケット内の `sample_dataset` フォルダに保存されます。
+ **canvas-sample-diabetic-readmission.csv:** このデータセットには、患者と治療の成果に関する 15 を超える機能を含む履歴データが含まれています。このデータセットを使用して、高リスクの糖尿病患者が退院後 30 日以内に再入院するか、30 日後に再入院するか、あるいはまったく入院しないかを予測できます。**redadmitted** 列をターゲット列として使用して、このデータセットでは 3\$1 カテゴリ予測モデルタイプを使用します。このデータセットを使用したモデル構築方法の詳細については、「[SageMaker Canvas workshop ページ](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/5-hcls)」を参照してください。このデータセットは、「[UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/diabetes+130-us+hospitals+for+years+1999-2008)」から取得されました。
+ **canvas-sample-housing.csv:** このデータセットには、特定の住宅価格に関連する特性に関するデータが含まれています。このデータセットを使用して住宅価格を予測できます。**median\$1house\$1value** 列をターゲット列として使用して、このデータセットでは数値予測モデルタイプを使用します。このデータセットを使用したモデル構築方法の詳細については、「[SageMaker Canvas workshop ページ](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/2-real-estate)」を参照してください。これは「[StatLib repository](https://www.dcc.fc.up.pt/~ltorgo/Regression/cal_housing.html)」から取得したカリフォルニア州の住宅データセットです。
+ **canvas-sample-loans.csv:** このデータセットには、現在のローン状況や最新の支払い情報など、2007 年から 2011 年に発行されたすべてのローンの完全なローンデータが含まれています。このデータセットを使用して、顧客がローンを返済するかどうかを予測できます。**loan\$1status** 列をターゲット列として使用して、このデータセットでは 3\$1 カテゴリ予測モデルタイプを使用します。このデータセットを使用したモデル構築方法の詳細については、「[SageMaker Canvas workshop ページ](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/4-finserv)」を参照してください。このデータは「[Kaggle](https://www.kaggle.com/datasets/wordsforthewise/lending-club)」から入手した LendingClub データを使用しています。
+ **canvas-sample-maintenance.csv:** このデータセットには、特定のメンテナンス障害タイプに関連する特性に関するデータが含まれています。このデータセットを使用して、将来どの障害が発生するかを予測できます。**Failure Type** 列をターゲット列として使用して、このデータセットでは 3\$1 カテゴリ予測モデルタイプを使用します。このデータセットを使用したモデル構築方法の詳細については、「[SageMaker Canvas workshop ページ](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/6-manufacturing)」を参照してください。このデータセットは、「[UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/AI4I+2020+Predictive+Maintenance+Dataset)」から取得されました。
+ **canvas-sample-shipping-logs.csv:** このデータセットには、配送予定時刻、配送優先順位、配送元など、配送されたすべての製品の完全な配送データが含まれています。このデータセットを使用して、荷物の到着予定日数を予測できます。**ActualShippingDays** 列をターゲット列として使用して、このデータセットでは数値予測モデルタイプを使用します。このデータを使用したモデル構築方法の詳細については、「[SageMaker Canvas workshop ページ](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/7-supply-chain)」を参照してください。これは Amazon が作成した合成データセットです。
+ **canvas-sample-sales-forecasting.csv:** このデータセットには、小売店の過去の時系列売上データが含まれています。このデータセットを使用して、特定の小売店の売上を予測できます。**sales** をターゲット列として使用して、このデータセットでは時系列予測モデルタイプを使用します。このデータセットを使用したモデル構築方法の詳細については、「[SageMaker Canvas workshop ページ](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/3-retail)」を参照してください。これは Amazon が作成した合成データセットです。

# 削除したサンプルデータセットを再インポートする
<a name="canvas-sample-datasets-reimport"></a>

Amazon SageMaker Canvas は、Canvas の機能を強調するさまざまなユースケースのサンプルデータセットを提供します。使用可能なサンプルデータセットの詳細については、「[Canvas のサンプルデータセット](canvas-sample-datasets.md)」を参照してください。サンプルデータセットを使用する必要がなくなった場合は、SageMaker Canvas アプリケーションの**[データセット]** ページから削除できます。ただし、これらのデータセットは、[[Canvas のストレージロケーション]](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-storage-configuration.html) として指定した Amazon S3 バケットからは削除されないため、後でいつでもアクセスできます。

デフォルトの Amazon S3 バケットを使用した場合、`sagemaker-{region}-{account ID}` のパターンに従ってバケットの名前が付けられます。サンプルデータセットは `Canvas/sample_dataset` のディレクトリパスにあります。

SageMaker Canvas アプリケーションからサンプルデータセットを削除した後で、そのサンプルデータセットに再びアクセスする場合は、次の手順に従います。

1. SageMaker Canvas アプリケーションで、**[データセット]** ページに移動します。

1. **[データをインポート]** を選択します。

1. Amazon S3 バケットのリストから、Canvas のストレージロケーションであるバケットを選択します。SageMaker AI が作成したデフォルトの Amazon S3 バケットを使用する場合は、バケットは `sagemaker-{region}-{account ID}` のパターンに従って命名されます。

1. **[Canvas]** フォルダを選択します。

1. SageMaker Canvas のすべてのサンプルデータセットを含む **[sample\$1dataset]** フォルダを選択します。

1. インポートするデータセットを選択して、**[データをインポート]** を選択します。

# データ準備
<a name="canvas-data-prep"></a>

**注記**  
以前は、Amazon SageMaker Data Wrangler は SageMaker Studio Classic エクスペリエンスの一部でした。新しい Studio エクスペリエンスを使用して更新する場合は、SageMaker Canvas を使用して Data Wrangler にアクセスし、最新の機能更新を受け取る必要があります。Studio Classic でこれまで Data Wrangler を使用しており、Canvas の Data Wrangler に移行する場合は、Canvas アプリケーションを作成して使用できるように追加の権限を付与する必要が生じる場合があります。詳細については、「[(オプション) Studio Classic の Data Wrangler から SageMaker Canvas に移行する](studio-updated-migrate-ui.md#studio-updated-migrate-dw)」を参照してください。  
Studio Classic の Data Wrangler からデータフローを移行する方法については、「[(オプション) Studio Classic から Studio にデータを移行する](studio-updated-migrate-data.md)」を参照してください。

Amazon SageMaker Canvas で Amazon SageMaker Data Wrangler を使用して、データの準備、特徴付け、分析を行います。Data Wrangler データ準備フローを機械学習 (ML) ワークフローに統合して、コーディングをほとんどまたはまったく使わずにデータの前処理と特徴量エンジニアリングを簡素化および合理化できます。独自の Python スクリプトと変換を追加してワークフローをカスタマイズすることもできます。
+ **データフロー** - データフローを作成して一連の ML データ準備手順を定義します。フローを使用してさまざまなデータソースのデータセットの結合、データセットに適用する変換の数とタイプの特定、ML パイプラインに統合できるデータ準備ワークフローの定義が可能です。
+ **変換** - 文字列、ベクトル、数値データの書式設定ツールなど、標準の変換**を使用してデータセットをクリーンアップおよび変換します。テキストや日付/時刻の埋め込み、カテゴリ別エンコーディングなどの変換を使用して、データを特徴化します。
+ **データインサイトの生成** – Data Wrangler のデータ品質とインサイトレポートにより、データ品質を自動的に検証し、データの異常を検出します。
+ **分析** - フローの任意の時点でデータセット内の特徴を分析します。Data Wrangler には、散布図やヒストグラムなどの組み込みのデータ視覚化ツールや、ターゲット漏洩解析やクイックモデリングなどのデータ分析ツールが含まれており、特徴の相関性を理解できます。
+ **エクスポート** – データ準備ワークフローを別の場所にエクスポートします。以下は場所の例です。
  + Amazon Simple Storage Service (Amazon S3) バケット
  + Amazon SageMaker Feature Store – 機能とそのデータを一元化されたストアに保存します。
+ **データ準備の自動化** – データフローから機械学習ワークフローを作成します。
  + Amazon SageMaker Pipelines – SageMaker AI のデータ準備、モデルトレーニング、モデルのデプロイジョブを管理するワークフローを構築します。
  + シリアル推論パイプライン – データフローからシリアル推論パイプラインを作成します。これを使用して、新しいデータを予測します。
  + Python スクリプト – データとその変換をカスタムワークフロー用の Python スクリプトに保存します。

# データセットを作成する
<a name="canvas-data-flow"></a>

SageMaker Canvas の Data Wrangler フローまたは*データフロー*を使用して、データ準備パイプラインを作成および変更します。5 GB を超えるデータセットには Data Wrangler を使用することをお勧めします。

開始するには、次の手順を使用してデータをデータフローにインポートします。

1. SageMaker Canvas を開きます。

1. 左側のナビゲーションで、**[Data Wrangler]** を選択します。

1. **[インポートして準備]** を選択します。

1. ドロップダウンメニューから、**[表形式]** または **[画像]** を選択します。

1. **[データソースの選択]** では、データソースを選択し、インポートするデータを選択します。最大 30 個のファイルまたは 1 つのフォルダを選択できます。Canvas にインポート済みのデータセットがある場合は、ソースとして **[Canvas データセット]** を選択します。それ以外の場合は、Amazon S3 や Snowflake などのデータソースに接続し、データを参照します。データソースへの接続またはデータのインポートについては、次のページを参照してください。
   + [データのインポート](canvas-importing-data.md)
   + [データソースに接続する](canvas-connecting-external.md)

1. インポートするデータを選択したら、**[次へ]** を選択します。

1. (オプション) 表形式のデータセットをインポートする際の **[インポート設定]** セクションで、**[詳細]** ドロップダウンメニューを展開します。データフローのインポートには、次の詳細設定を指定できます。
   + **サンプリング方法** – 使用するサンプリング方法とサンプルサイズを選択します。サンプルの変更方法の詳細については、「[データフローのサンプリング設定を編集する](canvas-data-flow-edit-sampling.md)」のセクションを参照してください。
   + **ファイルエンコーディング (CSV)** – データセットファイルのエンコーディングを選択します。 `UTF-8` がデフォルトです。
   + **最初の行をスキップ**する – データセットの先頭に冗長な行がある場合は、インポートをスキップする行の数を入力します。
   + **区切り記号** – データ内の各項目を区切る区切り記号を選択します。カスタム区切り記号を指定することもできます。
   + **複数行の検出** — Canvas で複数行セルのデータセット全体を手動で解析する場合は、このオプションを選択します。Canvas ではデータのサンプルを取得することで、複数行のサポートを使用するかどうかを決定しますが、サンプル内の複数行セルが検出されない場合があります。この場合は、**[複数行の検出]** オプションを選択して、データセット全体の複数行セルの確認を Canvas に強制することをお勧めします。

1. **[インポート]** を選択します。

これで、新しいデータフローが作成され、変換手順と分析の追加を開始できるようになりました。

# データフロー UI の仕組み
<a name="canvas-data-flow-ui"></a>

データフローを操作しやすくするために、Data Wrangler には上部のナビゲーションペインに次のタブがあります。
+ **データフロー** – このタブでは、変換を追加または削除したり、データをエクスポートしたりするデータフローステップを視覚的に確認できます。
+ **データ** – このタブにはデータのプレビューが表示され、変換の結果を確認できます。データフロー手順の順序付きリストを表示して、手順を編集または順序変更することもできます。
**注記**  
このタブでは、Amazon S3 データソースのデータ視覚化 (列あたりの値の分布など) のみをプレビューできます。Amazon Athena などの他のデータソースの視覚化はサポートされていません。
+ **分析** – このタブには、作成する分析ごとに個別のサブタブが表示されます。例えば、ヒストグラムおよびデータ品質とインサイト (DQI) レポートを作成すると、それぞれのタブが作成されます。

データセットをインポートすると、元のデータセットがデータフローに表示され、**[Source]** (ソース) という名前が付けられます。SageMaker Canvas では、データセット内の各列のタイプを自動的に推論し、**[データ型]** という名前の新しいデータフレームを作成します。このフレームを選択して、推定されたデータ型を更新できます。

データフローで使用するデータセット、変換、分析は、*ステップ*として表されます。変換ステップを追加するたびに、新しいデータフレームを作成します。複数の変換ステップ (**[結合]** または **[連結]** 以外) を同じデータセットに追加すると、それらはスタックされます。

**[データの結合]** オプションでは、**[結合]** と **[連結]** は、結合または連結された新しいデータセットを含むスタンドアロンステップを作成します。

# データフローのサンプリング設定を編集する
<a name="canvas-data-flow-edit-sampling"></a>

表形式データを Data Wrangler データフローにインポートする際は、データセットのサンプルを取得して、データの探索とクリーニングプロセスを高速化できます。データセットのサンプルで探索的変換を実行することは、データセット全体で変換を実行するよりも高速であることが多く、データセットをエクスポートしてモデルを構築する準備ができたら、変換をデータセット全体に適用できます。

Canvas は、次のサンプリング方法をサポートしています。
+ **FirstK** – Canvas はデータセットから最初の *K* 項目を選択します。ここで、*K* は指定した数値を表します。このサンプリング方法は単純ですが、データセットがランダムに順序付けられていない場合、バイアスが発生する可能性があります。
+ **ランダム** – Canvas は項目をデータセットからランダムに選択します。各項目は同じ確率で選択されます。このサンプリング方法は、サンプルがデータセット全体を確実に表すようにする上で役立ちます。
+ **層別化** – Canvas は、1 つ以上の属性 (年齢や所得レベルなど) に基づいてデータセットをグループ (つまり*階層*) に分割します。次に、比例した数の項目が各グループからランダムに選択されます。この方法では、関連するすべてのサブグループがサンプルに適切に含まれます。

サンプリング設定は随時編集して、データ探索に使用するサンプルのサイズを変更できます。

サンプリング設定を変更するには、次の手順に従います。

1. データフローグラフで、データソースノードを選択します。

1. 下部のナビゲーションバーで **[サンプリング]** を選択します。

1. **[サンプリング]** ダイアログボックスが開きます。**[サンプリング方法]** ドロップダウンで、目的のサンプリング方法を選択します。

1. **[最大サンプルサイズ]** には、サンプリングする行数を入力します。

1. **[更新]** を選択して変更を保存します。

これで、サンプリング設定の変更が適用されます。

# データフローにステップを追加する
<a name="canvas-data-flow-add-step"></a>

Data Wrangler データフローでは、データ変換と分析を表すステップを追加できます。

データフローにステップを追加するには、データセットノードまたは以前に追加したステップの横にある **＋** を選択します。次に、以下のオプションのいずれかを選択します。
+ **データ型の編集** (**[データ型]** ステップのみ): **[データ型]** ステップへの変換を追加していない場合は、フローの **[データ型]** ステップをダブルクリックして **[データ]** タブを開き、データセットのインポート時に Data Wrangler が推測したデータ型を編集できます。
+ **変換を追加**: 新しい変換ステップを追加します。追加できるデータ変換の詳細については、「[[データを変換する]](canvas-transform.md)」を参照してください。
+ **データインサイトの取得**: ヒストグラムやカスタム視覚化などの分析を追加します。このオプションを使用して、データフローの任意の時点でデータを分析できます。追加できる分析の詳細については、「[探索的データ分析 (EDA) を実行する](canvas-analyses.md)」を参照してください。
+ **結合**: 2 つのデータセットを結合し、結果のデータセットをデータフローに追加するには、**[データを結合]** でこのオプションを見つけます。詳細については[データセットを結合する](canvas-transform.md#canvas-transform-join)を参照してください。
+ **連結**: 2 つのデータセットを連結し、結果のデータセットをデータフローに追加するには、**[データを結合]** でこのオプションを見つけます。詳細については[データセットを連結する](canvas-transform.md#canvas-transform-concatenate)を参照してください。

# データフローステップを編集する
<a name="canvas-data-flow-edit-steps"></a>

Amazon SageMaker Canvas では、データフロー内の個々のステップを編集して、新しいデータフローを作成せずにデータセットを変換できます。次のページでは、結合および連結のステップとデータソースのステップを編集する方法について説明します。

## 結合および連結のステップを編集する
<a name="canvas-data-flow-edit-join-concat"></a>

データフロー内では、結合ステップと連結ステップを柔軟に編集できます。データ処理ワークフローに必要な調整を行い、データフロー全体をやり直すことなく、データを適切に組み合わせて変換できます。

データフローの結合または連結ステップを編集するには、次の手順を実行します。

1. データフローを開きます。

1. 編集する結合ノードまたは連結ノードの横にあるプラスアイコン (**＋**) を選択します。

1. コンテキストメニューから **[編集]** を選択します。

1. サイドパネルが開き、結合または連結の詳細を編集できるようになります。結合のタイプなどの、ステップフィールドを変更します。データノードを交換し、結合または連結する別のノードを選択するには、ノードの横にある削除アイコンを選択して、データフロービューで、変換に含める新しいノードを選択します。
**注記**  
編集プロセス中にノードを交換する場合は、結合または連結操作の前に発生するステップのみを選択できます。左ノードと右ノードのどちらでも交換できますが、一度に交換できるノードは 1 つだけです。さらに、ソースノードを置き換え先として選択することはできません。

1. **[プレビュー]** を選択して、結合操作の結果を表示します。

1. **[更新]** を選択して変更を保存します。

データフローが更新されているはずです。

## データソースステップを編集または置換する
<a name="canvas-data-flow-edit-source"></a>

元のデータに適用された変換とデータフローステップを削除せずに、データソースまたはデータセットを変更する必要が生じることがあります。Data Wrangler 内では、データフローのステップを維持しながら、データソース設定を編集または置換できます。データソースを編集するときは、サンプリングサイズや方法、高度な設定などのインポート設定を変更できます。また、同じスキーマを持つファイルを追加することもできます。あるいは、Amazon Athena などのクエリベースのデータソースの場合には、クエリを編集できます。データソースを置換する場合は、新しいデータのスキーマが元のデータと一致する限り、別のデータセットを選択するか、別のデータソースからデータを完全にインポートできます。

データソース設定を編集するには、次の操作を行います。

1. Canvas アプリケーションで、**[Data Wrangler]** ページに移動します。

1. データフローを選択して表示します。

1. データフローステップを示す **[データフロー]** タブで、編集する **[ソース]** ノードを見つけます。

1. **[ソース]** ノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューから **[編集]** を選択します。

1. Amazon S3 データソースとローカルアップロードでは、元のデータと同じスキーマを持つファイルをさらに選択またはアップロードできます。Amazon Athena などのクエリベースのデータソースでは、ビジュアルクエリビルダーで異なるテーブルを削除して選択することも、SQL クエリを直接編集することもできます。終了したら、**[次へ]** を選択します。

1. **[インポート設定]** で、必要な変更を加えます。

1. 完了したら、**[変更を保存]** を選択します。

これでデータソースが更新されるはずです。

データソースを置換するには、以下を実行します。

1. Canvas アプリケーションで、**[Data Wrangler]** ページに移動します。

1. データフローを選択して表示します。

1. データフローステップを示す **[データフロー]** タブで、編集する **[ソース]** ノードを見つけます。

1. **[ソース]** ノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューから、**[置換]** を選択します 。

1. [データフローエクスペリエンスを作成](canvas-data-flow.md)して、別のデータソースとデータを選択します。

1. データを選択し、ソースノードを更新する準備ができたら、**[保存]** を選択します。

これで、**ソース**ノードがデータフロー内で更新されます。

# データフローのステップを並べ替える
<a name="canvas-data-flow-reorder-steps"></a>

データフローにステップを追加した後は、ステップを削除して正しい順序で再び追加する代わりに、ステップを並べ替えることができます。例えば、文字列をフォーマットするステップの前に、変換を移動して欠損値を補完することを決定できます。

**注記**  
データソースの定義、データ型の変更、結合、連結、分割など、特定のステップタイプの順序を変更することはできません。順序を変更できないステップは、Canvas アプリケーション UI でグレー表示されています。

データフローのステップの順序を並べ替えるには、以下を実行します。

1. Data Wrangler でデータフローを編集するときに、**[データ]** タブを選択します。**[ステップ]** と呼ばれるサイドパネルには、データフローのステップが順番に表示されます。

1. 変換ステップにカーソルを合わせ、そのステップの横にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. コンテキストメニューから、**[並べ替え]** を選択します 。

1. データフローステップを目的の順序にドラッグアンドドロップします。

1. 完了したら、**[保存]** を選択します。

これで、行った変更がデータフローのステップとグラフに反映されます。

# データフローからステップを削除する
<a name="canvas-data-flow-delete-step"></a>

データフロー内では、結合ステップと連結ステップを削除し、後続の変換をデータに適用するかどうかを選択できる柔軟性があります。

データフローから結合または連結ステップを削除するには、以下を実行します。

1. データフローを開きます。

1. 削除する結合ノードまたは連結ノードの横にあるプラスアイコン (**＋**) を選択します。

1. コンテキストメニューで、**[削除]** を選択します。

1. (オプション) 結合または連結ステップの後に変換ステップがある場合は、後続の変換ステップを保持するかどうかを選択し、各データノードに個別に追加できます。**[結合の削除]** サイドパネルで、ノードを選択して選択を解除し、その後の変換ステップを削除します。両方のノードを選択してすべての変換ステップを保持したままにすることも、両方のノードの選択を解除してすべての変換ステップを破棄することもできます。

   次のスクリーンショットは、2 つのデータノードのうち 2 番目のノードのみが選択された状態のこのステップを示しています。結合が正常に削除されると、後続の **[列の名前変更]** 変換は、2 番目のデータノードによってのみ保持されます。  
![\[結合の削除ビューを示している Data Wrangler のデータフローのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-data-flow-delete-step.png)

1. **[削除]** を選択します。

これで、結合または連結ステップがデータフローから削除されます。

# 探索的データ分析 (EDA) を実行する
<a name="canvas-analyses"></a>

Data Wrangler には、数回のクリックでビジュアライゼーションとデータ分析を生成できる分析機能が組み込まれています。独自のコードを使用してカスタム分析を作成することもできます。

データフレームに分析を追加するには、データフローでステップを選択し、**[Add analysis]** (分析を追加) を選択します。作成した分析にアクセスするには、分析を含むステップを選択し、分析を選択します。

分析は、データセットの最大 200,000 行のサンプルを使用して生成されます。サンプルサイズは設定できます。データフローのサンプルサイズの変更の詳細については、「[データフローのサンプリング設定を編集する](canvas-data-flow-edit-sampling.md)」を参照してください。

**注記**  
分析は、1,000 列以下のデータに向けて最適化されています。それより多い列を含むデータの分析を生成すると、多少のレイテンシーが発生する場合があります。

次の分析をデータフレームに追加できます。
+ ヒストグラムや散布図などのデータビジュアライゼーション。
+ エントリ数、最小値と最大値 (数値データの場合)、最も頻度の高いカテゴリ (カテゴリ別データの場合) など、データセットの簡単な要約。
+ 各特徴の重要度スコアを生成するために使用できるデータセットの簡単なモデル。
+ 1 つ以上の特徴がターゲットの特徴と強い相関性があるかどうかを判断するために使用できるターゲットの漏洩レポート。
+ 独自のコードを使用したカスタムビジュアライゼーション。

これらのオプションの詳細については、次のセクションを参照してください。

## データとデータ品質に関するインサイトを取得する
<a name="canvas-data-insights"></a>

**データ品質とインサイトレポート**を使用して、Data Wrangler にインポートしたデータを分析します。データセットをインポートした後にレポートを作成することをお勧めします。このレポートはデータのクリーニングと処理に役立ちます。欠損値の数や外れ値の数などの情報が提供されます。ターゲット漏洩や不均衡など、データに問題がある場合は、インサイトレポートでそれらの問題に注意を向けることができます。

以下の手順を使用して、データ品質とインサイトレポートを作成します。Data Wrangler フローにデータセットをインポート済みであることを前提としています。

**データ品質とインサイトレポートを作成するには**

1. Data Wrangler フロー内のノードの横にある省略記号アイコンを選択します。

1. **[データインサイトを取得する]** を選択します。

1. **[分析タイプ]** には、**[データ品質とインサイトレポート]** を選択します。

1. **[分析名]** に、インサイトレポートの名前を指定します。

1. **[問題のタイプ]** に、**[回帰]** または **[分類]** を指定します。

1. **[ターゲット列]** に、ターゲット列を指定します。

1. **[データサイズ]** に、次のいずれかを指定します。
   + **サンプルデータセット** – データフローからのインタラクティブサンプルを使用します。これには、データセットの行を最大 200,000 行まで含めることができます。サンプルのサイズを編集する方法については、「[データフローのサンプリング設定を編集する](canvas-data-flow-edit-sampling.md)」を参照してください。
   + **フルデータセット** – データソースの完全なフルデータセットを使用してレポートを作成します。
**注記**  
完全なデータセットに関するデータ品質とインサイトレポートを作成するには、Amazon SageMaker Processing ジョブを使用します。SageMaker 処理ジョブは、すべてのデータのインサイトを取得するために必要な追加のコンピューティングリソースをプロビジョンします。SageMaker の処理ジョブの詳細については、「[SageMaker Processing によるデータ変換ワークロード](processing-job.md)」を参照してください。

1. **[作成]** を選択します。

以下のトピックはレポートの各セクションを示しています。

**Topics**
+ [概要](#canvas-data-insights-summary)
+ [ターゲット列](#canvas-data-insights-target-column)
+ [クイックモデル](#canvas-data-insights-quick-model)
+ [特徴の概要](#canvas-data-insights-feature-summary)
+ [サンプル](#canvas-data-insights-samples)
+ [定義](#canvas-data-insights-definitions)

レポートはダウンロードすることも、オンラインで表示することもできます。レポートをダウンロードするには、画面右上にあるダウンロードボタンを選択します。

### 概要
<a name="canvas-data-insights-summary"></a>

インサイトレポートには、欠損値、無効な値、特徴型、外れ値の数などの一般的な情報を含むデータの簡単な概要が表示されます。また、データに問題がある可能性を示す、重要度の高い警告を含めることもできます。警告を調査することをお勧めします。

### ターゲット列
<a name="canvas-data-insights-target-column"></a>

データ品質とインサイトレポートを作成すると、Data Wrangler ではターゲット列を選択するオプションが表示されます。ターゲット列とは、予測しようとしている列のことです。ターゲット列を選択すると、Data Wrangler はターゲット列分析を自動的に作成します。また、予測能力の順に特徴をランク付けします。ターゲット列を選択するときは、解決しようとしているのが回帰問題なのか分類問題なのかを指定する必要があります。

分類の場合、Data Wrangler は最も一般的なクラスの表とヒストグラムを表示します。クラスはカテゴリです。また、ターゲット値が欠落しているか無効である観測値または行も表示されます。

回帰の場合、Data Wrangler はターゲット列のすべての値のヒストグラムを表示します。また、ターゲット値が欠落している、無効である、または外れ値になっている観測値または行も表示されます。

### クイックモデル
<a name="canvas-data-insights-quick-model"></a>

**クイックモデル**では、データを使ってトレーニングしたモデルの想定される予測品質を推定できます。

Data Wrangler はデータをトレーニングフォールドと検証フォールドに分割します。サンプルの 80% をトレーニングに、値の 20% を検証に使用します。分類の場合、サンプルは層化分割されます。層化分割では、各データパーティションのラベルの比率は同じです。分類問題では、トレーニングフォールドと分類フォールドのラベルの比率を同じにすることが重要です。Data Wrangler は、デフォルトのハイパーパラメータを使用して XGBoost モデルをトレーニングします。検証データに早期停止を適用し、特徴の前処理は最小限に抑えます。

分類モデルの場合、Data Wrangler はモデルの要約と混同行列の両方を返します。

 分類モデルの概要が返す情報の詳細については、「[定義](#canvas-data-insights-definitions)」を参照してください。

混同行列には、次の情報が表示されます。
+ 予測されたラベルが実際のラベルと一致する回数。
+ 予測されたラベルが実際のラベルと一致しない回数。

実際のラベルは、データ内の実際の観測値を表します。例えば、モデルを使用して不正取引を検出する場合、実際のラベルは実際に不正または不正でない取引を表します。予測されたラベルは、モデルがデータに割り当てるラベルを表します。

混同行列を使用すると、モデルが条件の有無をどの程度正確に予測できるかを確認できます。不正取引を予測する場合は、混同行列を使用してモデルの感度と特異性の両方を把握できます。感度とは、モデルが不正取引を検出する能力を指します。特異性とは、不正ではない取引を不正な取引として検出することを回避するモデルの能力を指します。

### 特徴の概要
<a name="canvas-data-insights-feature-summary"></a>

ターゲット列を指定すると、Data Wrangler は特徴を予測能力の順に並べます。予測能力は、データを 80% のトレーニングフォールドと 20% の検証フォールドに分割した後で測定されます。Data Wrangler は、各特徴のモデルをトレーニングフォールドで別々にあてはめます。最小限の特徴の前処理を適用し、検証データの予測パフォーマンスを測定します。

スコアは [0,1] の範囲に正規化されます。予測スコアが高いほど、その列がターゲットを単独で予測するのに有用であることを示します。スコアが低いほど、列がターゲット列を予測できないことを示します。

単独で予測できない列を他の列と組み合わせて使用することで予測可能になることはまれです。予測スコアを使用して、データセット内の特徴が予測可能かどうかを確信をもって判断できます。

通常、スコアが低い場合は、特徴が冗長であることを示します。スコア 1 は完璧な予測能力を示し、多くの場合はターゲット漏洩を意味します。ターゲット漏洩は通常、予測時に使用できない列がデータセットに含まれている場合に発生します。例えば、ターゲット列と重複している場合があります。

### サンプル
<a name="canvas-data-insights-samples"></a>

Data Wrangler は、サンプルが異常かどうか、またはデータセットに重複があるかどうかに関する情報を提供します。

Data Wrangler は、アイソレーションフォレストアルゴリズムを使用して異常サンプルを検出します。**アイソレーションフォレストは、データセットの各サンプル (行) に異常スコアを関連付けます。異常スコアが低い場合は、サンプルに異常があることを示します。スコアが高いほど、サンプルに異常がないことを示します。通常、異常スコアが負のサンプルは異常と見なされ、異常スコアが正のサンプルは異常ではないと見なされます。

異常の可能性があるサンプルを調べる場合は、異常な値に注意することをお勧めします。例えば、データの収集と処理におけるエラーによって異常な値になる場合があります。以下は、Data Wrangler によるアイソレーションフォレストアルゴリズムの実装による最も異常なサンプルの例です。異常サンプルを調べる際には、ドメイン知識とビジネスロジックを使用することをお勧めします。

Data Wrangler は重複行を検出し、データ内の重複行の比率を計算します。データソースによっては、有効な重複データが含まれている場合があります。他のデータソースには重複があり、データ収集に問題がある可能性があります。問題のあるデータ収集によって発生した重複サンプルは、データを独立したトレーニングフォールドと検証フォールドに分割することに依存する機械学習プロセスに支障をきたす可能性があります。

サンプルが重複すると影響を受ける可能性があるインサイトレポートの要素は次のとおりです。
+ クイックモデル
+ 予測力の推定
+ ハイパーパラメータの自動調整

**[行を管理]** の **[重複データの削除]** トランスフォームを使用して、データセットから重複サンプルを削除できます。Data Wrangler は、重複が最も多い行を表示します。

### 定義
<a name="canvas-data-insights-definitions"></a>

データインサイトレポートで使用される技術用語の定義は次のとおりです。

------
#### [ Feature types ]

各特徴型の定義は次のとおりです。
+ **数値** — 数値は浮動小数点数でも、年齢や収入などの整数でもかまいません。機械学習モデルは、数値が順序付けられ、その上で距離が定義されていることを前提としています。例えば、3 は 10 よりも 4 に近く、3 < 4 < 10 です。
+ **カテゴリ** — 列のエントリは一意の値のセットに属します。通常、この値は列のエントリ数よりもかなり小さくなります。例えば、長さ 100 の列には一意の値 `Dog`、`Cat`、`Mouse` が含まれる場合があります。値は、数値、テキスト、または両方の組み合わせです。`Horse`、`House`、`8`、`Love`、`3.1` はすべて有効な値で、同じカテゴリ列にあります。機械学習モデルでは、すべての値が数値であっても、数値特徴とは対照的に、カテゴリ別特徴の値の順序や距離を想定していません。
+ **バイナリ** — バイナリ特徴は、一意の値における集合の高基数が 2 である特殊なカテゴリ別特徴型です。
+ **テキスト** — テキスト列には、数値以外の一意の値が多数含まれています。極端なケースでは、列のすべての要素が一意です。極端なケースでは、2 つとして同じエントリはありません。
+ **Datetime** — datetime 列には日付または時刻に関する情報が含まれます。日付と時刻の両方に関する情報を含めることができます。

------
#### [ Feature statistics ]

各特徴統計の定義は次のとおりです。
+ **予測能力** — 予測能力は、その列がターゲットの予測にどの程度役立つかを測定します。
+ **外れ値** (数値列) — Data Wrangler は、外れ値に対して堅牢な中央値とロバスト標準偏差 (RSTD) という 2 つの統計を使用して外れ値を検出します。RSTD は、特徴値を [5 パーセンタイル、95 パーセンタイル] の範囲にクリップし、クリップされたベクトルの標準偏差を計算することによって算出されます。中央値 \$1 5 \$1 RSTD より大きい値、または中央値 - 5 \$1 RSTD より小さい値はすべて外れ値と見なされます。
+ **スキュー** (数値列) — スキューは分布の対称性を測定し、分布の 3 番目のモーメントを標準偏差の 3 乗で割った値として定義されます。正規分布やその他の対称分布の歪みはゼロです。正の値は、分布の右裾が左裾よりも長いことを意味します。負の値は、分布の左裾が右裾よりも長いことを意味します。経験則として、スキューの絶対値が 3 より大きい場合、分布は歪んでいると見なされます。
+ **尖度** (数値列) — ピアソンの尖度は、分布の裾の重さを測定します。分布の 4 番目のモーメントを 2 番目のモーメントの 2 乗で割ったものとして定義されます。正規分布の尖度は 3 です。尖度値が 3 より小さいということは、分布が平均の周りに集中していて、裾が正規分布の裾よりも軽いことを意味します。尖度値が 3 より大きい場合は、裾が重いか、外れ値が大きいことを意味します。
+ **欠損値** — NULL のようなオブジェクト、空の文字列、空白のみで構成された文字列は欠落しているとみなされます。
+ **数値特徴または回帰ターゲットの有効な値** — 有限浮動小数点数にキャストできる値はすべて有効です。欠損値は無効です。
+ **カテゴリ、バイナリ、テキスト特徴、または分類ターゲットの有効な値** — 欠落していない値はすべて有効です。
+ **Datetime 特徴** — datetime オブジェクトにキャストできる値はすべて有効です。欠損値は無効です。
+ **無効な値** — 欠落しているか、正しくキャストできない値。例えば、数値列では、文字列 `"six"` や null 値をキャストすることはできません。

------
#### [ Quick model metrics for regression ]

クイックモデルメトリクスの定義は次のとおりです。
+ R2 または決定係数 — R2 は、モデルによって予測されるターゲットの変動の割合です。R2 は [-infty, 1] の範囲内にあります。1 はターゲットを完全に予測するモデルのスコア、0 はターゲットの平均を常に予測するトリビアルモデルのスコアです。
+ MSE または平均二乗誤差 — MSE は [0, infty] の範囲にあります。0 は、ターゲットを完全に予測するモデルのスコアです。
+ MAE または平均絶対誤差 — MAE は [0, infty] の範囲にあります。0 はターゲットを完全に予測するモデルのスコアです。
+ RMSE または二乗平均平方根誤差 — RMSE は [0, infty] の範囲にあります。0 はターゲットを完全に予測するモデルのスコアです。
+ 最大誤差 — データセット全体の誤差の最大絶対値。最大誤差は [0, infty] の範囲です。0 はターゲットを完全に予測するモデルのスコアです。
+ 絶対誤差の中央値 — 絶対誤差の中央値は [0, infty] の範囲です。0 は、ターゲットを完全に予測するモデルのスコアです。

------
#### [ Quick model metrics for classification ]

クイックモデルメトリクスの定義は次のとおりです。
+ **精度** — 精度は、正確に予測されたサンプルの比率です。精度は [0, 1] の範囲です。0 はすべてのサンプルを誤って予測したモデルのスコア、1 は完全なモデルのスコアです。
+ **バランス精度** — バランス精度とは、データのバランスが取れるようにクラスの重みを調整したときに正確に予測されるサンプルの比率です。頻度に関係なく、すべてのクラスに同じ重要度が与えられます。バランス精度は [0, 1] の範囲です。0 はすべてのサンプルが間違っていると予測したモデルのスコアです。1 は完全なモデルのスコアです。
+ **AUC (二項分類)** — 受信者操作特性曲線の下面積です。AUC は [0, 1] の範囲にあり、ランダムモデルでは 0.5、完全なモデルでは 1 のスコアが返されます。
+ **AUC (OVR)** — 多クラス分類では、受信者操作特性曲線の下面積を、ラベルごとに 1 と残りのラベルで個別に計算したものです。Data Wrangler はエリアの平均をレポートします。AUC は [0, 1] の範囲にあり、ランダムモデルでは 0.5 のスコアが返され、完全モデルでは 1 のスコアが返されます。
+ **精度** — 精度は特定のクラスに対して定義されます。精度は、モデルがそのクラスとして分類したすべてのインスタンスのうち、真陽性の割合です。精度は [0, 1] の範囲です。1 は、そのクラスで偽陽性がなかったモデルのスコアです。二項分類では、Data Wrangler は陽性クラスの精度をレポートします。
+ **リコール** — リコールは特定のクラスに対して定義されます。リコールは、関連するクラスインスタンスが、正常に取得された割合です。リコールは [0, 1] の範囲です。1 はクラスのすべてのインスタンスを正しく分類したモデルのスコアです。二項分類の場合、Data Wrangler は陽性クラスのリコールをレポートします。
+ **F1** — F1 は特定のクラスに対して定義されます。正確性とリコールを組み合わせた手法です。F1 は [0, 1] の範囲です。1 は完全なモデルのスコアです。二項分類では、Data Wrangler は正の値を持つクラスの F1 をレポートします。

------
#### [ Textual patterns ]

**パターン**は、文字列のテキスト形式を読みやすい形式で記述します。テキストパターンの例を以下に示します。
+ 「\$1digits:4-7\$1」は、長さが 4 から 7 までの一連の数字を表します。
+ 「\$1alnum:5\$1」は、長さがちょうど 5 の英数字文字列を表します。

Data Wrangler は、データから空でない文字列のサンプルを調べてパターンを推測します。よく使われるパターンの多くを記述できます。パーセンテージで表される**信頼度**は、どの程度のデータがパターンに一致すると推定されるかを示します。テキストパターンを使用すると、データのどの行を修正または削除する必要があるかがわかります。

Data Wrangler が認識できるパターンを次に示します。


| パターン | テキスト形式 | 
| --- | --- | 
|  \$1alnum\$1  |  英数字の文字列  | 
|  \$1any\$1  |  任意の単語文字列  | 
|  \$1digits\$1  |  一連の数字  | 
|  \$1lower\$1  |  小文字の単語  | 
|  \$1mixed\$1  |  大文字と小文字が混在する単語  | 
|  \$1name\$1  |  大文字で始まる単語  | 
|  \$1upper\$1  |  大文字の単語  | 
|  \$1whitespace\$1  |  ホワイトスペース文字  | 

単語文字は、どの言語の単語にも使用できるアンダースコアまたは文字です。例えば、`'Hello_word'` と `'écoute'` という文字列はどちらも単語文字で構成されています。「H」と「é」はどちらも単語文字の例です。

------

## バイアスレポート
<a name="canvas-bias-report"></a>

SageMaker Canvas では Data Wrangler のバイアスレポートを提供して、データ内の潜在的なバイアスを検出できるようにします。バイアスレポートは、ターゲット列 (ラベル) と、バイアス (ファセット変数) が含まれている可能性がありそうな列との関係を分析します。例えば、顧客コンバージョンを予測しようとする場合、ファセット変数は顧客の年齢になる可能性があります。バイアスレポートは、データが特定の年齢グループに偏っているかどうかを判断するのに役立ちます。

Canvas でバイアスレポートを生成するには、以下を実行します。

1. Data Wrangler のデータフローで、フロー内のノードの横にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. コンテキストメニューから、**[データインサイトを取得]** を選択します。

1. **[分析を作成]** サイドパネルが開きます。**[分析タイプ]** ドロップダウンメニューで、**[バイアスレポート]** を選択します。

1.  **[分析名]** フィールドに、バイアスレポートの名前を入力します。

1. **[モデルが予測する列を選択 (ターゲット)]** ドロップダウンメニューで、ターゲット列を選択します。

1. **[予測列は値またはしきい値のどちらですか?]** では、ターゲット列にカテゴリ値がある場合は **[値]**、数値がある場合は **[しきい値]** を選択します。

1. **[予測値]** (または前のステップでの選択に応じて **[予測しきい値]**) には、肯定的な結果に対応するターゲット列値を入力します。例えば、顧客変換を予測する場合、値は顧客が変換されたことを示す `yes` になります。

1. **[バイアスを分析する列を選択]** ドロップダウンメニューで、ファセット変数とも呼ばれるバイアスが含まれていると思われる列を選択します。

1. **[列は値またはしきい値のどちらですか?]** では、ファセット変数にカテゴリ値がある場合は **[値]**、数値がある場合は **[しきい値]** を選択します。

1. **[バイアスを分析する列値]** (または前のステップでの選択に応じて **[バイアスを分析する列しきい値]**) には、潜在的なバイアスを分析する値を入力します。例えば、特定の年齢以上の顧客に対するバイアスを確認する場合は、その年齢範囲の先頭をしきい値として使用します。

1. **[バイアスメトリクスを選択]** では、バイアスレポートに含めるバイアスメトリクスを選択します。情報アイコンにカーソルを合わせると、各メトリクスの詳細が表示されます。

1. (オプション) **[追加のメトリクスを分析しますか?]** オプションのプロンプトが表示されたら、**[はい]** を選択してバイアスメトリクスを表示して含めます。

1. バイアスレポートを作成する準備ができたら、**[追加]** を選択します。

レポートが生成されると、選択したバイアスメトリクスの概要が表示されます。バイアスレポートは、データフローの **[分析]** タブからいつでも表示できます。

## ヒストグラム
<a name="canvas-visualize-histogram"></a>

ヒストグラムを使用して、特定の特徴の特徴値の数を確認します。**[色分け]** オプションを使用して特徴間の関係を確認できます。

**[ファセット別]** 機能を使用して別の列の値ごとに、1 列のヒストグラムを作成できます。

## 散布図
<a name="canvas-visualize-scatter-plot"></a>

**[散布図]** 機能を使用して特徴間の関係を確認します。散布図を作成するには、**[X 軸]** と **[Y 軸]** でプロットする特徴を選択します。これらの列は両方とも数値型列でなければなりません。

散布図は追加の列で色分けできます。

さらに、特徴別に散布図をファセット化することもできます。

## テーブルの概要
<a name="canvas-table-summary"></a>

**[テーブルの概要]** 分析を使用してデータをすばやく要約します。

ログデータや浮動小数点データなどの数値データを含む列の場合、テーブルの概要は各列のエントリ数 (count)、最小値 (min)、最大 (max)、平均値、標準偏差 (stddev) を報告します。

文字列、ブール値、日付/時刻データなどの数値以外のデータを含む列の場合、テーブルの概要はエントリ数 (count)、最小頻度値 (min)、最大頻度値 (max) をレポートします。

## クイックモデル
<a name="canvas-quick-model"></a>

**[クイックモデル]** ビジュアライゼーションを使用して、データをすばやく評価し、各特徴の重要度スコアを生成します。[特徴の重要度スコア](http://spark.apache.org/docs/2.1.0/api/python/pyspark.ml.html#pyspark.ml.classification.DecisionTreeClassificationModel.featureImportances)は、特徴がターゲットラベルの予測にどの程度有用であるかを示します。特徴の重要度スコアは 0 と 1 の間にあり、数値が大きいほど、その特徴がデータセット全体に対してより重要であることを示します。クイックモデルチャートの上部にはモデルスコアが表示されます。分類問題は F1 スコアを示しています。回帰問題には平均二乗誤差 (MSE) スコアがあります。

クイックモデルチャートを作成する場合は、評価するデータセットと、特徴の重要度を比較するターゲットラベルを選択します。Data Wrangler は次を行います。
+ 選択したデータセット内のターゲットラベルと各特徴に対するデータ型を推論します。
+ 問題のタイプを決定します。Data Wrangler は、ラベル列内の個別の値の数に基づいて、その問題のタイプが回帰または分類のどちらであるかを判断します。Data Wrangler は、カテゴリ別しきい値を 100 に設定します。ラベル列に 100 を超える個別の値がある場合、Data Wrangler はそれを回帰問題として分類します。それ以外の場合、分類問題として分類されます。
+ トレーニング用に特徴とラベルデータを前処理します。使用されるアルゴリズムでは、ベクトルタイプに対するエンコーディング機能と double 型に対するエンコーディングラベルが必要です。
+ 70% のデータでランダムフォレストアルゴリズムをトレーニングします。Spark の [RandomForestRegressor](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-regression) は回帰問題のモデルのトレーニングに使用されます。[RandomForestClassifier](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-classifier) は、分類問題のモデルのトレーニングに使用されます。
+ 残りの 30% のデータでランダムフォレストモデルを評価します。Data Wrangler は F1 スコアを使用して分類モデルを評価し、MSE スコアを使用して回帰モデルを評価します。
+ Gini 重要度メソッドを使用して、各特徴の重要度を計算します。

## ターゲット漏洩
<a name="canvas-analysis-target-leakage"></a>

ターゲット漏洩は、機械学習のトレーニングデータセットにターゲットラベルと強い相関性があっても、実際のデータでは利用できないデータがある場合に発生します。例えば、モデルで予測する列のプロキシとして使われる列がデータセット内に存在するとします。

**[ターゲット漏洩]** 分析を使用する場合、次を指定します。
+ **ターゲット**: ML モデルで予測を行う対象の特徴です。
+ **問題のタイプ**: 作業している ML 問題のタイプです。問題のタイプは **[分類]** または **[回帰]** のいずれかになります。
+  (オプション) **最大特徴数**: ビジュアライゼーション内に存在する特徴の最大数であり、ターゲット漏洩のリスクによってランク付けして特徴を表示しています。

分類の場合、ターゲット漏洩分析は、受信者動作特性の下にある領域、または各列の AUC-ROC 曲線を **[最大特徴数]** まで使用します。回帰の場合、決定の係数、または R2 メトリクスを使用します。

AUC-ROC 曲線は、最大約 1000 行のサンプルで、交差検証を使用して列ごとに個別に計算される予測メトリクスを提供します。スコア 1 は完璧な予測能力を示し、多くの場合はターゲット漏洩を示します。0.5 以下のスコアは、列の情報が、ターゲットの予測に有用な情報を単独で提供できなかったことを示します。列から単独で情報が得られないものの、他の特徴と併用するとターゲットの予測に役立つことがあり、低いスコアは特徴が冗長であることを示す場合があります。

## 多重共線性
<a name="canvas-multicollinearity"></a>

多重共線性とは、2 つ以上の予測変数が互いに関連している状況です。予測変数は、ターゲット変数を予測するために使用するデータセット内の特徴量です。多重共線性がある場合、予測変数はターゲット変数を予測するだけでなく、相互の予測にもなります。

データ内の多重共線性の尺度として、**[分散膨張係数 (VIF)]**、**[主成分分析 (PCA)]**、または **[Lasso 特徴量選択]** を使用できます。詳細については、以下を参照してください。

------
#### [ Variance Inflation Factor (VIF) ]

分散膨張係数 (VIF) は、変数ペア間の共線性の尺度です。Data Wrangler は、変数が互いにどの程度密接に関連しているかを示す尺度として VIF スコアを返します。VIF スコアは、1 以上の正数です。

スコアが 1 の場合、その変数は他の変数と相関していないことを意味します。スコアが 1 より大きい場合、相関が高いことを示します。

理論的には、VIF スコアの値が無限大になることもあります。Data Wrangler はハイスコアを 50 に抑えます。VIF スコアが 50 より大きい場合、Data Wrangler はスコアを 50 に設定します。

次のガイドラインを使用して、VIF スコアを解釈できます。
+ VIF スコアが 5 以下の場合は、変数が他の変数と中程度の相関関係にあることを示します。
+ VIF スコアが 5 以上であれば、変数が他の変数と高い相関関係にあることを示します。

------
#### [ Principle Component Analysis (PCA) ]

主成分分析 (PCA) は、特徴空間のさまざまな方向に沿ったデータの分散を測定します。特徴空間は、データセット内のターゲット変数を予測するために使用するすべての予測変数で構成されます。

例えば、*タイタニック号*が氷山に衝突した後に誰が生き残ったかを予測する場合、特徴空間には乗客の年齢、性別、支払った運賃を含めることができます。

PCA は、特徴空間から分散の順序付きリストを生成します。これらの分散は、特異値とも呼ばれます。分散リストの値は 0 以上です。これらの値を使用して、データにどの程度の多重共線性があるかを判断できます。

数値がほぼ一様であれば、データに多重共線性があることはほとんどありません。値間のばらつきが大きい場合、多重共線性が発生しているケースが多くなります。PCA を実行する前に、Data Wrangler は各特徴量の平均値が 0、標準偏差が 1 になるように正規化します。

**注記**  
このような場合の PCA は、特異値分解 (SVD) と呼ばれることもあります。

------
#### [ Lasso feature selection ]

Lasso の特徴量選択では、L1 正則化手法を使用して、データセット内で最も予測性の高い特徴量のみを含めます。

分類と回帰の両方で、正則化手法は特徴量ごとに係数を生成します。係数の絶対値が特徴量の重要度スコアになります。重要度スコアが高いほど、ターゲット変数の予測精度が高いことを示します。一般的な特徴量選択方法は、Lasso 係数がゼロ以外の特徴量をすべて使用することです。

------

## 時系列データの異常を検出する
<a name="canvas-time-series-anomaly-detection"></a>

異常検出ビジュアライゼーションを使用して、時系列データの外れ値を確認できます。異常と判断される基準を理解するには、時系列が予測項と誤差項に分解されることを理解しておく必要があります。時系列の季節性と傾向を予測項として処理します。残差を誤差項として処理します。

誤差項では、残差が異常と見なされるしきい値を、平均値から離れる偏差の標準の数として指定します。例えば、しきい値を 3 標準偏差として指定できます。平均値から 3 標準偏差を超える残差は異常値です。

次の手順に従って **[異常検出]** 分析を実行できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[分析を追加]** を選択します。

1. **[分析タイプ]** で、**[時系列]** を選択します。

1. **[ビジュアライゼーション]** で、**[異常検出]** を選択します。

1. **[異常しきい値]** で、値が異常と見なされるしきい値を選択します。

1. **[プレビュー]** を選択して、分析のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

## 時系列データにおける季節的な傾向の分解
<a name="canvas-seasonal-trend-decomposition"></a>

季節的な傾向分解ビジュアライゼーションを使用して、時系列データに季節性があるかどうかを判断できます。STL (LOESS を使用した季節的な傾向分解) メソッド使用して分解を実行します。時系列を季節性、傾向、残差コンポーネントに分解します。この傾向は、時系列の長期的な進行を反映しています。季節性は、ある期間内に再発する信号です。時系列から傾向と季節性を削除すると、残差が得られます。

次の手順に従って **[季節性傾向分解]** 分析を実行できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[分析を追加]** を選択します。

1. **[分析タイプ]** で、**[時系列]** を選択します。

1. **[ビジュアライゼーション]** で、**[季節性傾向分解]** を選択します。

1. **[異常しきい値]** で、値が異常と見なされるしきい値を選択します。

1. **[プレビュー]** を選択して、分析のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

## カスタムビジュアライゼーションを作成する
<a name="canvas-visualize-custom"></a>

Data Wrangler フローに分析を追加して、カスタムの可視化を作成できます。適用したすべての変換を含むデータセットは、[Pandas DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) として利用できます。Data Wrangler は `df` 変数を使用してデータフレームを格納します。データフレームにアクセスするには、変数を呼び出します。

出力変数 `chart` を指定して、[Altair](https://altair-viz.github.io/) 出力チャートを保存する必要があります。例えば、次のコードブロックを使用して、Titanic データセットを使用してカスタムヒストグラムを作成できます。

```
import altair as alt
df = df.iloc[:30]
df = df.rename(columns={"Age": "value"})
df = df.assign(count=df.groupby('value').value.transform('count'))
df = df[["value", "count"]]
base = alt.Chart(df)
bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count'))
rule = base.mark_rule(color='red').encode(
    x='mean(value):Q',
    size=alt.value(5))
chart = bar + rule
```

**カスタムビジュアライゼーションを作成するには、次の手順を実行します。**

1. 可視化したい変換を含むノードの横にある **[\$1]** を選択します。

1. **[分析を追加]** を選択します。

1. **[分析タイプ]** には、**[カスタム可視化]** を選択します。

1. **[分析名]** には名前を指定します。

1. コードボックスにコードを入力します。

1. **[プレビュー]** を選択して、ビジュアライゼーションをプレビューします。

1. **[保存]** を選択して可視化を追加します。

Python で Altair 可視化パッケージの使用方法がわからない場合は、カスタムコードスニペットを使用して始めることができます。

Data Wrangler には、検索可能な可視化スニペットのコレクションがあります。可視化スニペットを使用するには、**[サンプルスニペットを検索]** を選択し、検索バーにクエリを指定します。

次の例では、**[ビン分割された散布図]** のコードスニペットを使用しています。2 次元のヒストグラムをプロットします。

スニペットには、コードに加える必要のある変更を理解するのに役立つコメントが付いています。通常、コードにはデータセットの列名を指定する必要があります。

```
import altair as alt

# Specify the number of top rows for plotting
rows_number = 1000
df = df.head(rows_number)  
# You can also choose bottom rows or randomly sampled rows
# df = df.tail(rows_number)
# df = df.sample(rows_number)


chart = (
    alt.Chart(df)
    .mark_circle()
    .encode(
        # Specify the column names for binning and number of bins for X and Y axis
        x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)),
        y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)),
        size="count()",
    )
)

# :Q specifies that label column has quantitative type.
# For more details on Altair typing refer to
# https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types
```

# [データを変換する]
<a name="canvas-transform"></a>

Amazon SageMaker Data Wrangler は、データのクリーンアップと特徴化を効率化するために、多数の ML データ変換を提供します。Data Wrangler のインタラクティブデータ準備ツールを使用すると、さまざまなサンプリング手法を使用して任意のサイズのデータセットをサンプリングし、数分でデータの探索を開始できます。サンプリングされたデータでデータ変換を確定したら、データフローをスケールして、データセット全体にそれらの変換を適用できます。

変換を追加すると、データフローにステップが追加されます。追加する各変換によってデータセットが変更され、新しいデータフレームが生成されます。それ以降のすべての変換は、結果のデータフレームに適用されます。

Data Wrangler には、コードなしで列を変換するために使用できる組み込みの変換が含まれています。データの準備方法を知っていても、開始方法や使用する変換方法がわからない場合は、データ準備機能でチャットを使用して Data Wrangler と会話し、自然言語を使用して変換を適用できます。詳細については、「[データ準備用チャット](canvas-chat-for-data-prep.md)」を参照してください。

PySpark、Python (ユーザー定義関数)、Pandas、PySpark SQL を使用してカスタム変換を追加することもできます。一部の変換は所定の位置で動作しますが、その他の変換はデータセットに新しい出力列を作成します。

変換は複数の列に一度に適用できます。例えば、1 つのステップで複数の列を削除できます。

**数値を処理**変換および**欠落を処理**変換を適用できるのは 1 つの列のみです。

このページでは、Data Wrangler が提供している組み込みの変換とカスタム変換の詳細ついて説明します。

## データセットを結合する
<a name="canvas-transform-join"></a>

データセットはデータフローに直接結合できます。2 つのデータセットを結合すると、結合されたデータセットがフローに表示されます。Data Wrangler では以下の結合タイプがサポートされています。
+ **左外部** - 左側のテーブルからすべての行を含めます。左側のテーブル行で結合された列の値が、右側のテーブル行の値と一致しない場合、その行には、結合されたテーブルの右側のテーブル列すべての NULL 値が含まれます。
+ **左反** - 結合された列に対して右側のテーブルの値を含まない左側のテーブルから行を含めます。
+ **左半** - join ステートメントの条件を満たすすべての同じ行について、左側のテーブルから 1 行を含めます。これにより、結合の条件に一致する重複行が左側のテーブルから除外されます。
+ **右外部** - 右側のテーブルからすべての行を含めます。右側のテーブル行で結合された列の値が、左側のテーブル行のいずれかの値と一致しない場合、その行には、結合されたテーブルですべての左側のテーブル列に対する NULL 値が含まれます。
+ **内部** - 結合された列で一致する値を含む左側と右側のテーブルから行を含めます。
+ **完全外部** - 左側と右側のテーブルからすべての行を含めます。いずれかのテーブルで結合された列に対する行の値が一致しない場合、結合されたテーブルに別々の行が作成されます。結合されたテーブルで列の値が行に含まれていない場合、その列に null が挿入されます。
+ **デカルト積結合** - 最初のテーブルの各行と 2 番目のテーブルの各行を結合する行を含めます。これは結合内でテーブルからの行の[デカルト積](https://en.wikipedia.org/wiki/Cartesian_product)です。この積の結果は、左側のテーブルのサイズに右側のテーブルのサイズを乗算したものです。したがって、非常に大きなデータセット間でこの結合を使用する場合は注意が必要です。

次の手順を使用して 2 つのデータセットを結合します。データフローには 2 つのデータソースが既にインポートされているはずです。

1. 結合する左側のノードの横にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。最初に選択するノードは、常に結合内の左側のテーブルになります。

1. **[データを結合する]** にカーソルを合わせ、**[結合]** を選択します。

1. 適切なノードを選択します。2 番目に選択するノードは、常に結合内の右側のテーブルになります。

1. **[結合タイプ]** フィールドは、デフォルトで **[内部結合]** に設定されています。ドロップダウンメニューを選択して、結合タイプを変更します。

1. **[結合キー]** では、データの結合に使用する左右のテーブルの列を確認します。さらに結合キーを追加または削除できます。

1. **[結合の名前]** には、結合したデータの名前を入力するか、デフォルト名を使用します。

1. (オプション) **[プレビュー]** を選択して、結合したデータをプレビューします。

1. **[追加]** を選択して結合を完了します。

**注記**  
データを結合する際に、一致する行が Canvas によって識別されなかったという通知を受け取った場合は、正しい列が選択されていることを確認するか、サンプルを更新して一致する行の検索を試みることをお勧めします。別のサンプリング戦略を選択するか、サンプルのサイズを変更することができます。サンプルの編集方法については、「[データフローのサンプリング設定を編集する](canvas-data-flow-edit-sampling.md)」を参照してください。

これで、データフローに追加された結合ノードが表示されます。

## データセットを連結する
<a name="canvas-transform-concatenate"></a>

連結では、あるデータセットから別のデータセットに行を追加することで、2 つのデータセットが結合されます。

次の手順を使用して 2 つのデータセットを連結します。データフローには 2 つのデータソースが既にインポートされているはずです。

**2 つのデータセットを連結するには:**

1. 連結する左ノードの横にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。最初に選択するノードは、常に連結操作における左側のテーブルになります。

1. **[データを結合する]** にカーソルを合わせ、**[連結]** を選択します。

1. 適切なノードを選択します。2 番目に選択するノードは、常に連結内の右側のテーブルになります。

1. (オプション) **[連結後に重複を削除]** の横にあるチェックボックスをオンにして、重複する列を削除します。

1. (オプション) **[列を追加してソースデータフレームを示す]** の横にあるチェックボックスをオンにして、各レコードのソースデータセットを一覧表示する結果のデータフレームに列を追加します。

   1. **[インジケータ列の名前]** には、追加された列の名前を入力します。

   1. **[文字列を示す最初のデータセット]** には、最初のデータセット (つまり左ノード) のレコードのマーク付けに使用する値を入力します。

   1. **[文字列 を示す 2 番目のデータセット]** には、2 番目のデータセット (つまり右側のノード) のレコードのマーク付けに使用する値を入力します。

1. **[連結の名前]** には、連結の名前を入力します。

1. (オプション) **[プレビュー]** を選択して連結データをプレビューします。

1. **[追加]** を選択して、新しいデータセットをデータフローに追加します。

これで、データフローに追記した連結ノードが表示されます。

## バランスデータ
<a name="canvas-transform-balance-data"></a>

データセットのデータを、過小評価のカテゴリでバランスを取ることができます。データセットのバランスをとることで、バイナリ分類に適したモデルを作成できます。

**注記**  
列ベクトルを含むデータセットのバランスをとることはできません。

次のものを使用できます。**バランスデータ**オペレーションを使用して、次のいずれかの演算子を使用してデータのバランスをとります。
+ ランダムオーバーサンプリング – 少数カテゴリ内のサンプルをランダムに複製します。例えば、不正を検出しようとしている場合、データの 10% に詐欺のケースしか発生しない可能性があります。不正ケースと非詐欺ケースが等しい割合の場合、このオペレーターはデータセット内の不正ケースを 8 回ランダムに複製します。
+ ランダムアンダーサンプリング — ランダムオーバーサンプリングとほぼ同等です。過剰表現されたカテゴリからサンプルをランダムに削除して、目的のサンプルの割合を取得します。
+ 合成マイノリティオーバーサンプリング手法 (SMOTE) — 過小評価カテゴリのサンプルを使用して、新しい合成少数サンプルを補間します。SMOTE の詳細については、次の説明を参照してください。

数値特徴量と非数値特徴量の両方を含むデータセットには、すべての変換を使用できます。SMOTE は、隣接するサンプルを使用して値を補間します。Data Wrangler は R 二乗距離を使用して近傍を決定し、追加のサンプルを補間します。Data Wrangler は、数値特徴量のみを使用して、過小表現グループ内のサンプル間の距離を計算します。

過小表現のグループ内の 2 つの実サンプルについて、Data Wrangler は加重平均を使用して数値特徴量を内挿します。[0, 1] の範囲のサンプルにランダムに重みを割り当てます。数値特徴量の場合、Data Wrangler はサンプルの加重平均を使用してサンプルを補間します。サンプル A と B の場合、Data Wrangler は A に 0.7、0.3 を B にランダムに割り当てることができます。補間されたサンプルの値は 0.7A \$1 0.3B です。

Data Wrangler は、内挿された実サンプルからコピーして、数値以外の特徴を補間します。各サンプルにランダムに割り当てられる確率でサンプルをコピーします。サンプル A と B の場合、確率を A に 0.8、B に 0.2 を割り当てることができます。割り当てられた確率については、時間の A を 80% コピーします。

## カスタム変換
<a name="canvas-transform-custom"></a>

**[カスタム変換]** グループでは常に Pyspark、Pandas、Pyspark (SQL) を使用してカスタム変換を定義できます。3 つのオプションすべてに対して、変数 `df` を使用し、変換を適用するデータフレームにアクセスします。カスタムコードをデータフレームに適用するには、`df` 変数に対して行った変換を含むデータフレームを割り当てます。Python (ユーザー定義関数) を使用していない場合は、return ステートメントを含める必要はありません。**[プレビュー]** を選択してカスタム変換の結果をプレビューします。**[追加]** を選択して、カスタム変換を**前のステップ**のリストに追加します。

一般的なライブラリは、次のようなカスタム変換コードブロック内の `import` ステートメントでインポートできます。
+ NumPy バージョン 1.19.0
+ scikit-learn バージョン 0.23.2
+ SciPy バージョン 1.5.4
+ pandas バージョン 1.0.3
+ PySpark バージョン 3.0.0

**重要**  
**[カスタム変換]** では、名前にスペースや特殊文字が含まれる列はサポートされません。英数字とアンダースコアのみを含む列名を指定することをお勧めします。**[Manage columns]** (列を管理) 変換グループで **[Rename column]** (列名を変更) を使用し、列の名前からスペースを削除できます。次のように、**Python (Pandas)** **カスタム変換**を追加して 1 つのステップで複数の列からスペースを削除することもできます。この例では、`A column` と `B column` という名前の列を、`A_column` と `B_column` にそれぞれ変更します。  

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

コードブロックに print ステートメントを含めると、**[プレビュー]** の選択時に結果が表示されます。カスタムコードトランスフォーマーパネルのサイズは変更できます。パネルのサイズを変更すると、コードを記述するためのスペースが増えます。

以下のセクションでは、カスタム変換コードを作成するための追加のコンテキストと例を紹介します。

**Python (ユーザー定義関数)**

Python 関数を使うと、Apache Spark や pandas のことを知らなくてもカスタム変換を書くことができます。Data Wrangler は、カスタムコードをすばやく実行できるように最適化されています。カスタム Python コードと Apache Spark プラグインを使用しても、同様のパフォーマンスが得られます。

Python (ユーザー定義関数) コードブロックを使用するには、次のように指定します。
+ **入力列** – 変換を適用する入力列。
+ **モード** – pandas または Python のスクリプトモード。
+ **戻り値の型** – 返す値のデータ型。

pandas モードを使用するとパフォーマンスが向上します。Python モードでは、純粋な Python 関数を使用して変換を簡単に記述できます。

**PySpark**

次の例では、タイムスタンプから日付と時刻が抽出されます。

```
from pyspark.sql.functions import from_unixtime, to_date, date_format
df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP'))
df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn(
'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))
```

**pandas**

次の例は、変換を追加するデータフレームの概要を示します。

```
df.info()
```

**PySpark (SQL)**

次の例では、name、fare、pclass、survival の 4 つの列を持つ新しいデータフレームを作成します。

```
SELECT name, fare, pclass, survived FROM df
```

PySpark の使用方法がわからない場合は、カスタムコードスニペットを使用して始めることができます。

Data Wrangler には、検索可能なコードスニペットのコレクションがあります。コードスニペットを使用して、列の削除、列ごとのグループ化、モデリングなどのタスクを実行できます。

コードスニペットを使用するには、**[サンプルスニペットを検索]** を選択し、検索バーにクエリを指定します。クエリで指定するテキストは、コードスニペットの名前と完全に一致する必要はありません。

次の例は、データセット内の類似データを含む行を削除できる **Drop duplicate rows** コードスニペットを示しています。次のいずれかを検索すると、コードスニペットを見つけることができます。
+ Duplicates
+ Identical
+ Remove

次のスニペットには、必要な変更を理解するのに役立つコメントがあります。ほとんどのスニペットでは、コード内でデータセットの列名を指定する必要があります。

```
# Specify the subset of columns
# all rows having identical values in these columns will be dropped

subset = ["col1", "col2", "col3"]
df = df.dropDuplicates(subset)  

# to drop the full-duplicate rows run
# df = df.dropDuplicates()
```

スニペットを使用するには、その内容をコピーして **[カスタム変換]** フィールドに貼り付けます。複数のコードスニペットをコピーして [カスタム変換] フィールドに貼り付けることができます。

## カスタム計算式
<a name="canvas-transform-custom-formula"></a>

**カスタム計算式**を使用し、Spark SQL 式を使用して現在のデータフレーム内のデータをクエリする新しい列を定義します。クエリでは、Spark SQL 式の表記規則を使用する必要があります。

**重要**  
**カスタム計算式**では、名前にスペースや特殊文字が含まれる列はサポートされません。英数字とアンダースコアのみを含む列名を指定することをお勧めします。**[Manage columns]** (列を管理) 変換グループで **[Rename column]** (列名を変更) を使用し、列の名前からスペースを削除できます。次のように、**Python (Pandas)** **カスタム変換**を追加して 1 つのステップで複数の列からスペースを削除することもできます。この例では、`A column` と `B column` という名前の列を、`A_column` と `B_column` にそれぞれ変更します。  

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

この変換を使用して列を名前で参照し、列に対してオペレーションを実行できます。例えば、現在のデータフレームに *col\$1a* と *col\$1b* という名前の列が含まれていると仮定する場合、次のオペレーションを使用して次のコードを含む 2 つの列の積である**出力列**を生成できます。

```
col_a * col_b
```

データフレームに `col_a` と `col_b` 列が含まれることを仮定した、以下のような一般的なオペレーションがあります。
+ 2 つの列を連結する: `concat(col_a, col_b)`
+ 2 つの列を追加する: `col_a + col_b`
+ 2 つの列を減算する: `col_a - col_b`
+ 2 つの列を分割する: `col_a / col_b`
+ 列の絶対値を取得する: `abs(col_a)`

データの選択の詳細については、[Spark ドキュメント](http://spark.apache.org/docs/latest/api/python)を参照してください。

## データセット内の次元を減らす
<a name="canvas-transform-dimensionality-reduction"></a>

主成分分析 (PCA) を使用してデータの次元を減らします。データセットの次元は特徴量の数に対応します。Data Wrangler で次元削減を使用すると、コンポーネントと呼ばれる新しい機能セットが得られます。各コンポーネントは、データ内のある程度の変動を考慮します。

最初のコンポーネントは、データの変動の最大の原因です。2 番目のコンポーネントはデータの 2 番目に大きい変動量を占め、以降も同様です。

次元削減を使用すると、モデルのトレーニングに使用するデータセットのサイズを小さくすることができます。データセット内の特徴量を使用する代わりに、プリンシパルコンポーネントを使用することもできます。

PCA を実行するために、Data Wrangler はデータの軸を作成します。軸はデータセット内の列のアフィン結合です。最初のプリンシパルコンポーネントは、最大の分散量を持つ軸上の値です。2 番目のプリンシパルコンポーネントは、2 番目に大きな分散量を持つ軸上の値です。n 番目のプリンシパルコンポーネントは、n 番目に大きな分散量を持つ軸上の値です。

Data Wrangler が返すプリンシパルコンポーネントの数は設定できます。プリンシパルコンポーネントの数を直接指定することも、分散しきい値のパーセンテージを指定することもできます。プリンシパルコンポーネントはデータの変動量を説明します。例えば、値が 0.5 のプリンシパルコンポーネントがあるとします。このコンポーネントはデータ変動の 50% を説明します。分散しきい値パーセンテージを指定すると、Data Wrangler は指定したパーセンテージを満たす最小数のコンポーネントを返します。

以下は、プリンシパルコンポーネントとそれによって説明される分散量の例をデータで示しています。
+ コンポーネント 1 – 0.5
+ コンポーネント 2 – 0.45
+ コンポーネント 3 – 0.05

分散しきい値のパーセンテージを `94` または `95` に指定すると、Data Wrangler はコンポーネント 1 とコンポーネント 2 を返します。分散しきい値のパーセンテージを `96` に指定すると、Data Wrangler は 3 つすべてのプリンシパルコンポーネントを返します。

次の手順を使用して、データセットに対して PCA を実行できます。

データセットに対して PCA を実行するには、次の手順を実行します。

1. Data Wrangler のデータフローを開きます。

1. **\$1** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[次元削減]** を選択します。

1. **[入力列]** では、プリンシパルコンポーネントに削減する特徴量を選択します。

1. (オプション) **[プリンシパルコンポーネント数]** では、Data Wrangler がデータセットから返すプリンシパルコンポーネントの数を選択します。フィールドの値を指定する場合、**[分散しきい値パーセンテージ]** の値は指定できません。

1. (オプション) **[分散しきい値パーセンテージ]**、プリンシパルコンポーネントによって説明するデータの変動率を指定します。分散しきい値を指定しない場合、Data Wrangler はデフォルト値 `95` を使用します。**[プリンシパルコンポーネント数]** に値を指定した場合、分散しきい値パーセンテージは指定できません。

1. (オプション) 列の平均をデータの中心として使用しないためには、**[中心]** を選択解除します。デフォルトでは、Data Wrangler はスケーリング前にデータを平均でセンタリングします。

1. (オプション) データを単位標準偏差でスケールしないためには、**[スケール]** を選択解除します。

1. (オプション) コンポーネントを別の列に出力するには、**[列]** を選択します。コンポーネントを 1 つのベクトルとして出力するには、**[ベクトル]** を選択します。

1. (オプション) **[出力列]** で、出力列の名前を指定します。コンポーネントを別々の列に出力する場合、指定する名前はプレフィックスです。コンポーネントをベクトルに出力する場合、指定する名前はベクトル列の名前です。

1. (オプション) **[入力列を保持]** を選択します。モデルのトレーニングにプリンシパルコンポーネントのみを使用する予定がある場合は、このオプションを選択することはお勧めしません。

1. **[プレビュー]** を選択します。

1. **[Add]** (追加) を選択します。

## カテゴリ別にエンコードする
<a name="canvas-transform-cat-encode"></a>

カテゴリ別データは通常、有限数のカテゴリで構成され、各カテゴリは文字列で表されます。例えば、顧客データのテーブルがある場合、顧客が住んでいる国を示す列はカテゴリです。カテゴリはアフガニスタン、アルバニア、アルジェリアなど、さまざまです。カテゴリ別データは**公称または**序数にできます。序数カテゴリには固有の順序があり、公称カテゴリに固有の順序はありません。取得した最高学位 (高校、学士、修士) は、序数カテゴリの一例です。

カテゴリ別データのエンコーディングは、カテゴリの数値表現を作成するプロセスです。例えば、カテゴリが犬と猫の場合、犬を表す `[1,0]` と猫を表す `[0,1]` の 2 つのベクトルにこの情報をエンコードできます。

序数カテゴリをエンコードする場合、カテゴリの自然順序をエンコーディングに変換する必要があることがあります。例えば、`{"High school": 1, "Bachelors": 2, "Masters":3}` のマップで得られた最高学位を表すことができます。

カテゴリ別エンコーディングを使用して、文字列形式のカテゴリ別データを整数の配列にエンコードします。

Data Wrangler カテゴリ別エンコーダは、ステップの定義時に列に存在するすべてのカテゴリのエンコーディングを作成します。Data Wrangler ジョブを開始して時間 *t* にデータセットを開始するときに新しいカテゴリが列に追加され、この列が時間 *t*-1 における Data Wrangler のカテゴリ別エンコーディング変換の入力であった場合、これらの新しいカテゴリは Data Wrangler ジョブで欠落していると見なされます。****[無効な処理戦略]** に対して選択するオプションはこれらの欠落した値に適用されます。この問題が発生する可能性がある例を以下に示します。
+ .flow ファイルを使用して Data Wrangler ジョブを作成し、データフローの作成後に更新されたデータセットを処理する場合。データフローを使用して毎月の売上データを定期的に処理する場合などです。売上データが毎週更新される場合、エンコードのカテゴリ別ステップが定義された列に新しいカテゴリが導入される可能性があります。
+ データセットのインポート時に **[サンプリング]** を選択した場合、一部のカテゴリがサンプルから除外されることがあります。

このような状況において、これらの新しいカテゴリは Data Wrangler ジョブで欠落した値と見なされます。

序数とワンホットエンコードから選択して設定できます。****これらのオプションの詳細については、次のセクションを参照してください。

どちらの変換も、**[出力列名]** という名前の新しい列を作成します。この列の出力形式は、**[出力スタイル]** で指定します。
+ **[ベクトル]** を選択してスパースベクトルを含む 1 つの列を生成します。
+ **[列]** を選択し、元の列のテキストにそのカテゴリと等しい値が含まれているかどうかを示すインジケータ変数を使用して、すべてのカテゴリの列を作成します。

### 序数エンコード
<a name="canvas-transform-cat-encode-ordinal"></a>

**[序数エンコード]** を選択し、0 と、選択した **[入力列]** のカテゴリ総数との間の整数にカテゴリをエンコードします。

**Invalid handing strategy** (無効な処理戦略): 無効な値または欠落した値を処理する方法を選択します。
+ 欠落した値のある行を省略する場合は **[Skip]** (省略) を選択します。
+ 欠落した値を最後のカテゴリとして保持する場合は **[Keep]** (保持) を選択します。
+ 欠落した値が **[Input column]** (入力列) で検出された場合に Data Wrangler でエラーをスローさせる場合は **[Error]** (エラー) を選択します。
+ 欠落した値を NaN に置き換える場合は **[NaN に置き換え]** を選択します。このオプションは、ML アルゴリズムで欠落した値を処理できる場合に推奨されます。それ以外の場合、このリストの最初の 3 つのオプションから、より良い結果が得られる可能性があります。

### ワンホットエンコード
<a name="canvas-transform-cat-encode-onehot"></a>

**[変換]** に対して **[ワンホットエンコード]** を選択し、ワンホットエンコーディングを使用します。この変換は、以下を使用して設定します。
+ **最後のカテゴリをドロップ**: `True` の場合、最後のカテゴリにワンホットエンコーディングに対応するインデックスはありません。欠落した値を使用できる場合、欠落しているカテゴリは常に最後のカテゴリになり、これを `True` に設定すると欠落した値がすべてゼロベクトルになることを意味します。
+ **Invalid handing strategy** (無効な処理戦略): 無効な値または欠落した値を処理する方法を選択します。
  + 欠落した値のある行を省略する場合は **[Skip]** (省略) を選択します。
  + 欠落した値を最後のカテゴリとして保持する場合は **[Keep]** (保持) を選択します。
  + 欠落した値が **[Input column]** (入力列) で検出された場合に Data Wrangler でエラーをスローさせる場合は **[Error]** (エラー) を選択します。
+ **入力の序数がエンコードされている**: 入力ベクトルに序数でエンコードされたデータが含まれている場合、このオプションを選択します。このオプションでは、入力データに負でない整数が含まれている必要があります。**True** の場合、入力 *i* は、*i* 番目の場所のゼロ以外のベクトルとしてエンコードされます。

### 類似度エンコード
<a name="canvas-transform-cat-encode-similarity"></a>

次のような場合は、類似度エンコーディングを使用します。
+ 多数のカテゴリ変数
+ ノイズの多いデータ

類似度エンコーダーは、カテゴリカルデータを含む列の埋め込みを作成します。埋め込みとは、単語などの個別オブジェクトから実数のベクトルへのマッピングです。類似する文字列を、同様の値を含むベクトルにエンコードします。例えば、「California」と「Calfornia」に非常によく似たエンコーディングを作成します。

Data Wrangler は、3 グラムのトークナイザーを使用して、データセット内の各カテゴリをトークンのセットに変換します。これは、最小ハッシュエンコーディングを使用してトークンを埋め込みに変換します。

Data Wrangler が作成する類似度エンコーディングは次のとおりです。
+ 次元性が低い
+ 多数のカテゴリに対応できるスケーラブルですか
+ 堅牢でノイズに強いですか

上記の理由から、類似度エンコーディングは、ワンホットエンコーディングよりも汎用性が高いです。

類似度エンコーディング変換をデータセットに追加するには、以下の手順に従います。

類似度エンコーディングを使用するには、次の手順を実行します。

1. [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)にサインインします。

1. **[Studio Classic を開く]** を選択します。

1. **[アプリの起動]** を選択します。

1. **[Studio]** を選択します。

1. データフローを指定します。

1. 変換のあるステップを選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[カテゴリでエンコードする]** を選択します。

1. 次を指定します:
   + **変換** – **類似度エンコード**
   + **入力列** – エンコードするカテゴリデータを含む列。
   + **ターゲットディメンション** – (オプション) カテゴリカル埋め込みベクトルの次元。デフォルト値は 30 です。多数のカテゴリを持つ大規模なデータセットがある場合は、より大きなターゲットディメンションを使用することをお勧めします。
   + **出力スタイル** – すべてのエンコードされた値を持つ 1 つのベクトルの場合は、**[ベクトル]** を選択します。エンコードされた値を別の列に含めるには、**[列]** を選択します。
   + **出力列** – (オプション) ベクトルエンコードされた出力の出力列の名前。列エンコードされた出力の場合、これは列名のプレフィクスとその後にリストされた数字が続きます。

## テキストを特徴化する
<a name="canvas-transform-featurize-text"></a>

**テキストを特徴化**変換グループを使用して文字列型の列を検査し、テキストの埋め込みを使用してこれらの列を特徴化します。

この特徴グループには、文字統計**とベクトル化**の 2 つの特徴が含まれます。これらの変換の詳細については、次のセクションを参照してください。どちらのオプションでも、**[入力列]** にはテキストデータ (文字列型) を含める必要があります。

### 文字統計
<a name="canvas-transform-featurize-text-character-stats"></a>

**[文字統計]** を選択して、テキストデータを含む列の各行に対する統計を生成します。

この変換は、各行に対する次の比率とカウントを計算し、結果をレポートする新しい列を作成します。新しい列の名前は、入力列名をプレフィックスとして使用し、比率またはカウントに固有のサフィックスを使用します。
+ **単語数**: その行の合計単語数。この出力列のサフィックスは `-stats_word_count` です。
+ **文字数**: その行の合計文字数。この出力列のサフィックスは `-stats_char_count` です。
+ **大文字の比率**: A から Z までの大文字の数を、列のすべての文字数で割った数。この出力列のサフィックスは `-stats_capital_ratio` です。
+ **小文字の比率**: a から z までの小文字の数を、列のすべての文字数で割った数。この出力列のサフィックスは `-stats_lower_ratio` です。
+ **桁の比率**: 入力列の数字の桁の合計に対する 1 行の桁の比率。この出力列のサフィックスは `-stats_digit_ratio` です。
+ **特殊文字の比率**: 入力列のすべての文字の合計数に対する英数字以外の文字 (\$1\$1&%:@ などの文字) の数の比率。この出力列のサフィックスは `-stats_special_ratio` です。

### ベクトル化
<a name="canvas-transform-featurize-text-vectorize"></a>

テキストの埋め込みには、語彙の単語やフレーズから実数のベクトルへのマッピングが含まれます。Data Wrangler のテキスト埋め込み変換を使用して、テキストデータを用語の頻度 — 逆文書の頻度 (TF-IDF) ベクトルにトークン化およびベクトル化します。

テキストデータの列について TF-IDF を計算すると、各文の各単語は、その意味的な重要性を表す実数に変換されます。数字が大きいほど頻度が低い単語に関連付けられ、より重要性が高くなる傾向があります。

**ベクトル化**変換ステップを定義すると、Data Wrangler はデータセット内のデータを使用してカウントベクトル化メソッドと TF-IDF メソッドを定義します。Data Wrangler ジョブの実行には、これらと同じメソッドを使用します。

この変換は、以下を使用して設定します。
+ **出力列名**: この変換により、テキストが埋め込まれた新しい列が作成されます このフィールドを使用して、この出力列の名前を指定します。
+ **トークナイザ**: トークナイザが文を単語のリスト、つまり*トークン*に変換します。

  **[スタンダード]** を選択し、空白で区切って各単語を小文字に変換するトークナイザを使用します。例えば、`"Good dog"` は `["good","dog"]` にトークン化されます。

  **[カスタム]** を選択し、カスタマイズしたトークナイザを使用します。**[カスタム]** を選択した場合、次のフィールドを使用してトークナイザを設定できます。
  + **トークンの最小長**: トークンが有効になる最小の長さ (文字単位)。デフォルトは `1` です。例えば、トークンの最小長を `3` と指定した場合、`a, at, in` のような単語はトークン化された文から削除されます。
  + **正規表現をギャップで分割**: 選択した場合、**[regex]** がギャップで分割されます。それ以外の場合、トークンに一致します。デフォルトは `True` です。
  + **正規表現パターン**: トークン化プロセスを定義する正規表現パターン。デフォルトは `' \\ s+'` です。
  + **小文字に変換**: 選択すると、トークン化前にすべての文字が小文字に変換されます。デフォルトは `True` です。

  詳細については、Spark ドキュメントの「[トークン化](https://spark.apache.org/docs/latest/ml-features#tokenizer)」を参照してください。
+ **ベクタライザ**: ベクタライザはトークンのリストをスパース数値ベクトルに変換します。各トークンはベクトル内のインデックスに対応し、ゼロ以外の値は入力文中のトークンの存在を示します。2 つのベクタライザオプション **[カウント] と **[ハッシュ] から選択できます。
  + **[カウントベクトル化]** は頻度の低いトークンまたは一般的すぎるトークンをフィルタリングするカスタマイズを許可します。**[カウントベクトル化パラメータ]** には以下が含まれます。
    + **[用語の最小頻度]**: 各行で、頻度の小さい用語 (トークン) がフィルタリングされます。整数を指定する場合、これは絶対しきい値 (包括) です。0 (を含む) から 1 までの分数を指定すると、しきい値は用語の合計数を基準にします。デフォルトは `1` です。
    + **ドキュメントの最小頻度**: 用語 (トークン) を含める必要がある行の最小数。整数を指定する場合、これは絶対しきい値 (包括) です。0 (を含む) から 1 までの分数を指定すると、しきい値は用語の合計数を基準にします。デフォルトは `1` です。
    + **ドキュメントの最大頻度**: 用語 (トークン) を含めることができるドキュメント (行) の最大数。整数を指定する場合、これは絶対しきい値 (包括) です。0 (を含む) から 1 までの分数を指定すると、しきい値は用語の合計数を基準にします。デフォルトは `0.999` です。
    + **最大語彙サイズ**: 語彙の最大サイズ。語彙は、列のすべての行のすべての用語 (トークン) で構成されています。デフォルトは `262144` です。
    + **バイナリ出力**: 選択すると、ベクトル出力にドキュメント内の用語の出現数は含まれず、その出現のバイナリインジケータになります。デフォルトは `False` です。

    このオプションの詳細については、Spark ドキュメントの「[CountVectorizer](https://spark.apache.org/docs/latest/ml-features#countvectorizer)」を参照してください。
  + **[ハッシュ]** は計算が高速です。**[ハッシュベクタライズパラメータ]** には以下が含まれます。
    + **ハッシュ中の特徴の数**: ハッシュベクタライザは、ハッシュ値に従ってトークンをベクトルインデックスにマッピングします。この機能は、使用可能なハッシュ値の数を決定します。値が大きいほどハッシュ値間の競合は少なくなりますが、次数の出力ベクトルは大きくなります。

    このオプションの詳細については、Spark ドキュメントの「[FeatureHasher](https://spark.apache.org/docs/latest/ml-features#featurehasher)」を参照してください。
+ **[IDF を適用]** は、IDF 変換が適用され、それにより、TF-IDF 埋め込みに使用される標準の逆文書の頻度で用語の頻度が乗算されます。**[IDF パラメータ]** には、以下が含まれます。
  + **ドキュメントの最小頻度**: 用語 (トークン) を含める必要があるドキュメントの最小数。**count\$1vectorize** が、選択したベクトルである場合は、デフォルト値を維持し、**[カウントベクタライズパラメータ]** の **min\$1doc\$1freq** フィールドのみを変更することをお勧めします。デフォルトは `5` です。
+ **出力形式**:各行の出力形式。
  + **[Vector]** (ベクトル) を選択してスパースベクトルを含む 1 つの列を生成します。
  + **[フラット化]** を選択し、元の列のテキストにそのカテゴリと等しい値が含まれているかどうかを示すインジケータ変数を使用して、すべてのカテゴリの列を作成します。フラット化を選択できるのは、**[ベクタライザ]** が **[カウントベクタライザ]** として設定されている場合のみです。

## 時系列を変換する
<a name="canvas-transform-time-series"></a>

Data Wrangler では、時系列データを変換できます。時系列データセット内の値は、特定の時間にインデックス作成されます。例えば、1 日の各時間における店舗内の顧客数を示すデータセットは時系列データセットです。次の表は、時系列データセットの例を示しています。

店舗にいる 1 時間あたりの顧客数


| 顧客の数 | 時間 (時) | 
| --- | --- | 
| 4 | 09:00 | 
| 10 | 10:00 | 
| 14 | 11:00 | 
| 25 | 12:00 | 
| 20 | 13:00 | 
| 18 | 14:00 | 

前の表では、**[顧客の数]** 列には時系列データが含まれています。時系列データは、**[時間 (時)]** 列の時間ごとのデータ基づいてインデックス付けれます。

分析に使用できる形式でデータを取得するには、データに対して一連の変換を実行する必要がある場合があります。**[Time series]** (時系列) 変換グループを使用して時系列データを変換します。実行可能な変換の詳細については、次のセクションを参照してください。

**Topics**
+ [時系列でグループ化する](#canvas-group-by-time-series)
+ [時系列データを再サンプリングする](#canvas-resample-time-series)
+ [欠落している時系列データを処理する](#canvas-transform-handle-missing-time-series)
+ [時系列データのタイムスタンプを検証する](#canvas-transform-validate-timestamp)
+ [時系列の長さを標準化する](#canvas-transform-standardize-length)
+ [時系列データから特徴を抽出する](#canvas-transform-extract-time-series-features)
+ [時系列データから遅延特徴を使用する](#canvas-transform-lag-time-series)
+ [時系列に日時範囲を作成する](#canvas-transform-datetime-range)
+ [時系列でローリングウィンドウを使用する](#canvas-transform-rolling-window)

### 時系列でグループ化する
<a name="canvas-group-by-time-series"></a>

グループ化操作を使用して、列内の特定の値の時系列データをグループ化できます。

例えば、世帯の 1 日の平均電力使用量を追跡した次の表があるとします。

1 日の平均世帯電力使用量


| 世帯 ID | 日次タイムスタンプ | 電力使用量 (kWh) | 世帯の占有人数 | 
| --- | --- | --- | --- | 
| household\$10 | 1/1/2020 | 30 | 2 | 
| household\$10 | 1/2/2020 | 40 | 2 | 
| household\$10 | 1/4/2020 | 35 | 3 | 
| household\$11 | 1/2/2020 | 45 | 3 | 
| household\$11 | 1/3/2020 | 55 | 4 | 

ID 別のグループ化を選択した場合、次の表が表示されます。

世帯 ID 別にグループ化された電力使用量


| 世帯 ID | 電力使用量シリーズ (kWh) | 世帯の占有人数シリーズ | 
| --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 
| household\$11 | [45, 55] | [3, 4] | 

時系列シーケンスの各エントリは、対応するタイムスタンプ順に並べられます。シーケンスの最初の要素は、シリーズの最初のタイムスタンプに対応します。`household_0`、`30` は、**[電力使用量シリーズ]** の最初の値です。`30` の値は `1/1/2020` の最初のタイムスタンプに対応します。

開始タイムスタンプと終了タイムスタンプを含めることができます。次の表はその情報がどのように表示されるかを示しています。

世帯 ID 別にグループ化された電力使用量


| 世帯 ID | 電力使用量シリーズ (kWh) | 世帯の占有人数シリーズ | Start\$1time | End\$1time | 
| --- | --- | --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 1/1/2020 | 1/4/2020 | 
| household\$11 | [45, 55] | [3, 4] | 1/2/2020 | 1/3/2020 | 

次の手順に従って、時系列の列別にグループ化できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[時系列]** を選択します。

1. **[変換]** で **[グループ化]** を選択します。

1. **[この列でグループ化]** で列を指定します。

1. **[列に適用]** の値を指定します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 時系列データを再サンプリングする
<a name="canvas-resample-time-series"></a>

時系列データには通常、取得される間隔が一定ではない観測値があります。例えば、データセットには 1 時間ごとに記録される観測値と 2 時間ごとに記録される別の観測値が含まれる場合があります。

予測アルゴリズムなど、多くの分析では、観測値を一定の間隔で取得する必要があります。再サンプリングにより、データセット内の観測値に対して一定の間隔を確立できます。

時系列をアップサンプリングまたはダウンサンプリングできます。ダウンサンプリングは、データセットの観測値の間隔を大きくします。例えば、1 時間ごとまたは 2 時間ごとに取得される観測値をダウンサンプリングすると、データセット内の各観測値は 2 時間ごとに取得されます。時間単位の観測値は、平均値や中央値などの集計方法を使用して 1 つの値に集計されます。

アップサンプリングは、データセットの観測値の間隔を小さくします。例えば、2 時間ごとに取得される観測値を 1 時間ごとに取得される観測値にアップサンプリングする場合、補間法を使用して 2 時間ごとに取得された観測値から 1 時間ごとに取得される観測値を推測できます。補間法の詳細については、「[pandas.dataframe.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)」を参照してください。

数値データと非数値データの両方を再サンプリングできます。

**[再サンプル]** オペレーションを使用して、時系列データを再サンプリングします。データセットに複数の時系列がある場合、Data Wrangler は各時系列の時間間隔を標準化します。

次の表は、平均値を集計方法として使用して時系列データをダウンサンプリングする例を示しています。データは 2 時間ごとから 1 時間ごとにダウンサンプリングされます。

ダウンサンプリング前日の 1 時間単位の温度読み取り値


| タイムスタンプ | 温度 (摂氏) | 
| --- | --- | 
| 12:00 | 30 | 
| 1:00 | 32 | 
| 2:00 | 35 | 
| 3:00 | 32 | 
| 4:00 | 30 | 

2 時間ごとにダウンサンプリングされた温度読み取り値


| タイムスタンプ | 温度 (摂氏) | 
| --- | --- | 
| 12:00 | 30 | 
| 2:00 | 33.5 | 
| 4:00 | 35 | 

次の手順を使用して、時系列データを再サンプリングできます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[再サンプリング]** を選択します。

1. **[タイムスタンプ]** で、タイムスタンプ列を選択します。

1. **[頻度単位]** で、再サンプリングする頻度を指定します。

1. (オプション) **[頻度の数]** の値を指定します。

1. 残りのフィールドを指定して変換を設定します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 欠落している時系列データを処理する
<a name="canvas-transform-handle-missing-time-series"></a>

データセットに欠落した値がある場合、次のいずれかを実行できます。
+ 複数の時系列を持つデータセットの場合、指定したしきい値よりも欠落した値が大きい時系列をドロップします。
+ 時系列の他の値を使用して、時系列の欠落した値を帰属化します。

欠落した値を帰属化するには、値を指定するか、推論法を使用してデータを置き換えます。以下に、補間に使用できる方法を示します。
+ 定数値 - データセットで欠落しているすべてのデータを、指定した値に置き換えます。
+ 最も一般的な値 - 欠落しているすべてのデータを、データセットで最も頻度が高い値に置き換えます。
+ フォワードフィル - フォワードフィルを使用して、欠落値を欠落値より前にある欠落値以外の値に置き換えます。シーケンス [2, 4, 7, NaN, NaN, NaN, 8] の場合、欠落値はすべて 7 に置き換えられます。フォワードフィルを使用した場合のシーケンスは [2, 4, 7, 7, 7, 7, 8] です。
+ バックワードフィル - バックワードフィルを使用して、欠落値を欠落値の後にある欠落値以外の値に置き換えます。シーケンス [2, 4, 7, NaN, NaN, NaN, 8] の場合、欠落値はすべて 8 に置き換えられます。バックワードフィルを使用した場合のシーケンスは [2, 4, 7, 8, 8, 8, 8] です。
+ 補間 - 補間関数を使用して欠落値を帰属化します。補間に使用できる関数の詳細については、「[pandas.dataframe.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)」を参照してください。

補間法によっては、データセット内の一部の欠落値を帰属化できない場合があります。例えば、**[フォワードフィル]** で時系列の先頭に表示される欠落値を計算することはできません。フォワードフィルまたはバックフィルを使用して値を帰属化できます。

セル内または列内の欠落値を帰属化できます。

次の例は、セル内で値がどのように帰属化されるかを示しています。

欠落値のある電力使用量


| 世帯 ID | 電力使用量シリーズ (kWh) | 
| --- | --- | 
| household\$10 | [30, 40, 35, NaN, NaN] | 
| household\$11 | [45, NaN, 55] | 

フォワードフィルを使用して帰属化した値による電力使用量


| 世帯 ID | 電力使用量シリーズ (kWh) | 
| --- | --- | 
| household\$10 | [30, 40, 35, 35, 35] | 
| household\$11 | [45, 45, 55] | 

次の例は、列内で値がどのように帰属化されるかを示しています。

欠落値のある 1 日の平均世帯電力使用量


| 世帯 ID | 電力使用量 (kWh) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | NaN | 
| household\$11 | NaN | 
| household\$11 | NaN | 

フォワードフィルを使用して帰属化した値による平均日次電力使用量


| 世帯 ID | 電力使用量 (kWh) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | 40 | 
| household\$11 | 40 | 
| household\$11 | 40 | 

次の手順に従って、欠落値を処理できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[欠落値を処理]** を選択します。

1. **[時系列入力型]** で、欠落値をセル内または列に沿って処理するかどうかを選択します。

1. **[この列の欠落値を帰属化]** で、欠落値がある列を指定します。

1. **[値を帰属化する方法]** で、方法を選択します。

1. 残りのフィールドを指定して変換を設定します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. 欠落値がある場合、**[値を帰属化する方法]** でそれらを帰属化する方法を指定できます。

1. **[Add]** (追加) を選択して、Data Wrangler データフローに変換を追加します。

### 時系列データのタイムスタンプを検証する
<a name="canvas-transform-validate-timestamp"></a>

無効なタイムスタンプデータが含まれている可能性があります。**[タイムスタンプを検証]** 機能を使用して、データセット内のタイムスタンプが有効かどうかを判断できます。タイムスタンプは、次の 1 つ以上の理由で無効になる可能性があります。
+ タイムスタンプの列に欠落値がある。
+ タイムスタンプの列の値が正しい形式に設定されていない。

データセットに無効なタイムスタンプがある場合、分析を正常に実行することはできません。Data Wrangler を使用して無効なタイムスタンプを特定し、データを消去する必要がある場所を把握できます。

時系列の検証は、次の 2 つの方法のいずれかで動作します。

データセットに欠落値が見つかった場合に次のいずれかの操作を実行するように Data Wrangler を構成できます。
+ 欠落した値または無効な値がある行をドロップする。
+ 欠落した値または無効な値がある行を特定する。
+ データセットに欠落した値または無効な値が見つかった場合はエラーをスローする。

タイムスタンプは、`timestamp` 型または `string` 型がある列で検証できます。列に `string` 型がある場合、Data Wrangler はその列の型を `timestamp` に変換し、検証を実行します。

次の手順に従って、データセット内のタイムスタンプを検証できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[タイムスタンプを検証]** を選択します。

1. **[タイムスタンプ列]** で、タイムスタンプ列を選択します。

1. **[ポリシー]** で、欠落しているタイムスタンプを処理するかどうかを選択します。

1. (オプション) **[出力列]** で、出力列の名前を指定します。

1. 日時列が文字列型用に形式が設定されている場合、**[Cast to datetime]** (日時にキャスト) を選択します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 時系列の長さを標準化する
<a name="canvas-transform-standardize-length"></a>

時系列データを配列として保存している場合、各時系列を同じ長さに標準化できます。時系列配列の長さを標準化すると、データの分析を簡単に実行できる場合があります。

データの長さを固定する必要があるデータ変換のために時系列を標準化できます。

多くの ML アルゴリズムでは、時系列データを使用する前にフラット化する必要があります。時系列データのフラット化とは、時系列の各値をデータセット内の独自の列に分割することです。データセット内の列数は変更できないため、各配列を特徴セットにフラット化して時系列の長さを標準化する必要があります。

各時系列は、時系列セットの分位または百分位として指定した長さに設定されます。例えば、次の長さの 3 つのシーケンスを使用できます。
+ 3
+ 4
+ 5

すべてのシーケンスの長さを 50 番目の百分位の長さとして設定できます。

指定した長さより短い時系列配列には、欠落値が追加されます。次に、時系列をより長い [2, 4, 5, NaN, NaN, NaN] に標準化する形式の例を示します。

さまざまなアプローチを使用して欠落値を処理できます。これらのアプローチの詳細については、「[欠落している時系列データを処理する](#canvas-transform-handle-missing-time-series)」を参照してください。

指定した長さよりも長い時系列配列は切り捨てられます。

次の手順を使用して、時系列の長さを標準化できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[長さを標準化]** を選択します。

1. **[列の時系列長を標準化]** で列を選択します。

1. (オプション) **[出力列]** で、出力列の名前を指定します。名前を指定しない場合、変換はそのまま行われます。

1. 日時列が文字列型用に形式が設定されている場合、**[日時にキャスト]** を選択します。

1. **[カットオフ分位]** で分位を指定し,シーケンスの長さを設定します。

1. **[出力をフラット化]** を選択して、時系列の値を別々の列に出力します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 時系列データから特徴を抽出する
<a name="canvas-transform-extract-time-series-features"></a>

時系列データに対して分類または回帰アルゴリズムを実行している場合、アルゴリズムを実行する前に時系列から特徴量を抽出することをお勧めします。特徴を抽出すると、アルゴリズムのパフォーマンスが向上する可能性があります。

次のオプションを使用して、データから特徴を抽出する方法を選択します。
+ **[最小サブセット]** を使用して、下流の分析で有用であることがわかっている 8 つの特徴の抽出を指定します。計算をすばやく実行する必要がある場合は、最小サブセットを使用できます。ML アルゴリズムが過適合するリスクが高く、より少ない特徴を提供する場合にも使用できます。
+ **[効率的なサブセット]** を使用して、分析で大量の演算を行う特徴を抽出せずに、可能な限り多くの特徴を抽出するように指定します。
+ **[すべての特徴]** を使用して、チューニングシリーズから全特徴の抽出を指定します。
+ **[手動サブセット]** を使用して、データのバリエーションを適切に説明している思われる特徴のリストを選択します。

次の手順を使用して、時系列データから特徴を抽出します。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[特徴を抽出]** を選択します。

1. **[この列の特徴を抽出]** に対する列を選択します。

1. (オプション) **[フラット化]** を選択して特徴量を別々の列に出力します。

1. **[戦略]** で、特徴を抽出する戦略を選択します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 時系列データから遅延特徴を使用する
<a name="canvas-transform-lag-time-series"></a>

多くのユースケースにおいて、時系列の将来の動作を予測する最良の方法は、最新の動作を使用することです。

遅延特徴の最も一般的な用途は次のとおりです。
+ 過去の値を少しだけ収集する。例えば、時間 t \$1 1 の場合、t、t - 1、t - 2、t - 3 を収集します。
+ データで季節的な動作に対応する値を収集する。例えば、午後 1 時のレストランの利用率を予測するために、前日の午後 1 時の特徴量を使用できます。同じ日の午前 12 時または午前 11 時からの特徴量を使用しても、前日の特徴量を使用した場合ほどには予測できない可能性があります。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[遅延特徴]** を選択します。

1. **[この列の特徴を生成]** に対する列を選択します。

1. **[タイムスタンプ列]** で、タイムスタンプを含む列を選択します。

1. **[遅延]** で、遅延の長さを指定します。

1. (オプション) 次のいずれかのオプションを使用して出力を設定します。
   + **遅延期間全体を含める**
   + **出力をフラット化**
   + **履歴のない行をドロップ**

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 時系列に日時範囲を作成する
<a name="canvas-transform-datetime-range"></a>

タイムスタンプのない時系列データが含まれている場合があります。観測値が一定の間隔で取得されたことがわかっている場合、個別の列で時系列のタイムスタンプを生成できます。タイムスタンプを生成するには、開始タイムスタンプの値とタイムスタンプの頻度を指定します。

例えば、レストランの顧客数に関する次のような時系列データがあるとします。

レストランの顧客数に関する時系列データ


| 顧客の数 | 
| --- | 
| 10 | 
| 14 | 
| 24 | 
| 40 | 
| 30 | 
| 20 | 

レストランが午後 5 時にオープンし、観測値が 1 時間ごとに取得されることがわかっている場合、時系列データに対応するタイムスタンプ列を追加できます。次の表にタイムスタンプの列を示します。

レストランの顧客数に関する時系列データ


| 顧客の数 | タイムスタンプ | 
| --- | --- | 
| 10 | 1:00 PM | 
| 14 | 2:00 PM | 
| 24 | 3:00 PM | 
| 40 | 4:00 PM | 
| 30 | 5:00 PM | 
| 20 | 6:00 PM | 

次の手順に従って、データに日時範囲を追加します。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[日時範囲]** を選択します。

1. **[頻度タイプ]** で、タイムスタンプの頻度を測定するために使用する単位を選択します。

1. **[開始タイムスタンプ]** で、開始タイムスタンプを指定します。

1. **[出力列]** で、出力列の名前を指定します。

1. (オプション) 残りのフィールドを使用して出力を設定します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

### 時系列でローリングウィンドウを使用する
<a name="canvas-transform-rolling-window"></a>

一定の期間にわたって特徴を抽出できます。例えば、時間 t、時間枠長 3、t 番目のタイムスタンプを示す行の場合、時系列から抽出される特徴を時間 t - 3、t -2、t - 1 で追加します。特徴の抽出の詳細については、「[時系列データから特徴を抽出する](#canvas-transform-extract-time-series-features)」を参照してください。

次の手順に従って、一定の期間にわたって特徴を抽出できます。

1. Data Wrangler のデータフローを開きます。

1. データフローの **[データ型]** で **[\$1]** を選択し、**[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[ローリングウィンドウの特徴]** を選択します。

1. **[この列のローリングウィンドウの特徴を生成]** に対する列を選択します。

1. **[タイムスタンプ列]** で、タイムスタンプを含む列を選択します。

1. (オプション) **[出力列]** で、出力列の名前を指定します。

1. **[ウィンドウサイズ]** で、ウィンドウサイズを指定します。

1. **[戦略]** で、抽出戦略を選択します。

1. **[プレビュー]** を選択して、変換のプレビューを生成します。

1. **[追加]** を選択して、Data Wrangler データフローに変換を追加します。

## 日時を特徴化
<a name="canvas-transform-datetime-embed"></a>

**[日付/時刻を特徴化]** を使用して、日時フィールドを表すベクトルの埋め込みを作成します。この変換を使用するには、日時データが次のいずれかの形式で指定されている必要があります。
+ `"January 1st, 2020, 12:44pm"` など、日時を記述する文字列。
+ UNIX タイムスタンプ: UNIX タイムスタンプは、1970 年 1 月 1 日からの秒、ミリ秒、マイクロ秒、ナノ秒の数を表します。

**[日時形式を推測]** を選択して **[日時形式]** を指定できます。日時の形式を指定する場合、「[Python ドキュメント](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes)」で説明するコードを使用する必要があります。これら 2 つの構成に対して選択するオプションは、オペレーションの速度と最終結果に影響します。
+ 手動による計算が最速のオプションは、**[日時形式]** を選択し、**[日時形式を推測]** に対して **[いいえ]** を選択することです。
+ **[日時形式を推測]** を選択し、日時の形式を指定しないことで、手動による作業を削減できます。また、これは計算が早いオペレーションでもあります。ただし、入力列で最初に検出された日時の形式が、列全体の形式と見なされます。列に他の形式がある場合、これらの値は最終出力で NaN になります。日時の形式を推測すると、解析されていない文字列が得られる可能性があります。
+ 形式を指定せずに **[日時形式を推測]** で **[いいえ]** を選択すると、最も堅牢な結果が得られます。有効な日時文字列がすべて解析されます。ただし、このオペレーションは、このリストの最初の 2 つのオプションよりも大幅に遅くなる可能性があります。

この変換を使用する場合、前述したいずれかの形式の日時データが含まれている **[入力列]** を指定します。この変換により、**[出力列名]** という名前の出力列が作成されます。出力列の形式は、次を使用した構成によって異なります。
+ **ベクトル**: 1 つの列をベクトルとして出力します。
+ **列**: 特徴ごとに新しい列を作成します。例えば、出力に年、月、日が含まれる場合、年、月、日に対して 3 つの別々の列が作成されます。

また、**[埋め込みモード]** を選択する必要があります。線形モデルと深層ネットワークの場合、**[周期的]** が推奨されます。ツリーベースのアルゴリズムでは、**[序数]** が推奨されます。

## 文字列の形式を設定する
<a name="canvas-transform-format-string"></a>

**[文字列の形式を設定]** 変換には、標準の文字列形式を設定するオペレーションが含まれます。例えば、これらのオペレーションを使用して、特殊文字の削除、文字列長の正規化、文字列の大文字と小文字の更新を行うことができます。

この特徴グループには、次の変換が含まれます。すべての変換は、**[入力列]** で文字列のコピーを返し、結果を新しい出力列に追加します。


| 名前 | 関数 | 
| --- | --- | 
| 左パディング |  指定された **[文字を入力]** の文字列を、指定された **[幅]** に左パディングします。文字列が **[幅]** より長い場合、戻り値は **[幅]** の文字まで短縮されます。  | 
| 右パディング |  指定された **[文字を入力]** の文字列を、指定された **[幅]** に右パディングします。文字列が **[幅]** より長い場合、戻り値は **[幅]** の文字まで短縮されます。  | 
| 中央 (両側パディング) |  指定された **[文字を入力]** の文字列を、指定された **[幅]** に中央パディング (文字列の両側にパディング) します。文字列が **[幅]** より長い場合、戻り値は **[幅]** の文字まで短縮されます。  | 
| ゼロに付加 |  指定された **[幅]** まで、数値文字列をゼロで左に入力します。文字列が **[幅]** より長い場合、戻り値は **[幅]** の文字まで短縮されます。  | 
| 左および右を削除 |  先頭と末尾の文字を削除した文字列のコピーを返します。  | 
| 左から文字を削除 |  先頭の文字を削除した文字列のコピーを返します。  | 
| 右から文字を削除 |  末尾の文字を削除した文字列のコピーを返します。  | 
| 小文字 |  テキスト内のすべての文字を小文字に変換します。  | 
| 大文字 |  テキスト内のすべての文字を大文字に変換します。  | 
| 大文字にする |  各文の最初の文字を大文字にします。  | 
| 大文字と小文字を変換 | 指定した文字列のすべての大文字を小文字に変換し、すべての小文字を大文字に変換して返します。 | 
| プレフィックスまたはサフィックスを追加 |  文字列列にプレフィックスとサフィックスを追加します。**[プレフィックス] ** と **[サフィックス]** を少なくとも 1 つ指定する必要があります。  | 
| 記号を削除 |  指定された記号を文字列から削除します。一覧表示された文字はすべて削除されます。デフォルトは空白に設定されます。  | 

## 外れ値を処理する
<a name="canvas-transform-handle-outlier"></a>

機械学習モデルは、特徴値のディストリビューションと範囲の影響を受けます。外れ値や、希少値は、モデルの精度に悪影響を及ぼし、トレーニング時間が長くなる可能性があります。この特徴グループを使用して、データセット内の外れ値を検出して更新します。

**[外れ値を処理]** 変換ステップを定義すると、外れ値の検出に使用される統計が、このステップの定義時に Data Wrangler で使用可能なデータに対して生成されます。Data Wrangler ジョブの実行時に、これらの同じ統計が使用されます。

このグループに含まれる変換の詳細については、次のセクションを参照してください。**[出力名]** を指定すると、これらの各変換により、結果データを含む出力列が生成されます。

### 堅牢な標準偏差の数値外れ値
<a name="canvas-transform-handle-outlier-rstdev"></a>

この変換は、外れ値に堅牢な統計を使用して、数値特徴の外れ値を検出して修正します。

**[上限分位]** と **[下限分位]** を定義する必要があります。これは外れ値の計算に使われる統計で使用されます。また、値を外れ値と見なすために必要な平均値からの変化として、**[標準偏差]** の数値を指定する必要があります。例えば、**[標準偏差]** に 3 を指定した場合、外れ値と見なすには、値が平均値から 3 標準偏差より離れていなければなりません。

**[修正方法]** は、検出された外れ値の処理に使用する方法です。次から選択できます。
+ **[クリップ]**: このオプションを使用して、対応する外れ値の検出範囲に外れ値をクリップします。
+ **[削除]**: このオプションは、外れ値が含まれる行をデータフレームから削除する場合に使用します。
+ **[無効化]**: このオプションは、外れ値を無効な値に置き換える場合に使用します。

### 標準偏差の数値外れ値
<a name="canvas-transform-handle-outlier-sstdev"></a>

この変換は、平均値と標準偏差を使用して、数値特徴の外れ値を検出して修正します。

値を外れ値と見なすために平均値から逸脱していなければならない **[標準偏差]** の数を指定します。例えば、**[標準偏差]** に 3 を指定した場合、外れ値と見なすには、値が平均値から 3 標準偏差より離れていなければなりません。

**[修正方法]** は、検出された外れ値の処理に使用する方法です。次から選択できます。
+ **[クリップ]**: このオプションを使用して、対応する外れ値の検出範囲に外れ値をクリップします。
+ **[削除]**: このオプションは、外れ値が含まれる行をデータフレームから削除する場合に使用します。
+ **[無効化]**: このオプションは、外れ値を無効な値に置き換える場合に使用します。

### 分位数の外れ値
<a name="canvas-transform-handle-outlier-quantile-numeric"></a>

この変換を使用して、分位数を使った数値特徴の外れ値を検出して修正します。**[上限分位]** と **[下位分位]** を定義できます。上限分位を上回る値または下位分位を下回る値はすべて外れ値と見なされます。

**[修正方法]** は、検出された外れ値の処理に使用する方法です。次から選択できます。
+ **[クリップ]**: このオプションを使用して、対応する外れ値の検出範囲に外れ値をクリップします。
+ **[削除]**: このオプションは、外れ値が含まれる行をデータフレームから削除する場合に使用します。
+ **[無効化]**: このオプションは、外れ値を無効な値に置き換える場合に使用します。

### 最小-最大数値外れ値
<a name="canvas-transform-handle-outlier-minmax-numeric"></a>

この変換は、上限と下限しきい値を使用して、数値特徴の外れ値を検出して修正します。外れ値を定めるしきい値がわかっている場合は、この方法を使用します。

**[上限しきい値]** と **[下限しきい値]** を指定していて、値がこれらのしきい値をそれぞれ上回っているか、下回っている場合、外れ値と見なされます。

**[修正方法]** は、検出された外れ値の処理に使用する方法です。次から選択できます。
+ **[クリップ]**: このオプションを使用して、対応する外れ値の検出範囲に外れ値をクリップします。
+ **[削除]**: このオプションは、外れ値が含まれる行をデータフレームから削除する場合に使用します。
+ **[無効化]**: このオプションは、外れ値を無効な値に置き換える場合に使用します。

### 希少値を置き換え
<a name="canvas-transform-handle-outlier-replace-rare"></a>

**[希少値を置き換え]** 変換を使用してしきい値を指定すると、Data Wrangler はそのしきい値を満たすすべての値を検出し、指定した文字列に置き換えます。例えば、この変換を使用して、列のすべての外れ値を「その他」カテゴリに分類できます。
+ **置換文字列**: 外れ値に置き換える文字列。
+ **絶対しきい値**: インスタンスの数がこの絶対しきい値以下の場合、このカテゴリは希少値です。
+ **割合しきい値**: インスタンスの数がこの割合しきい値に行数を乗算した値以下次の場合、このカテゴリは希少値です。
+ **最大共通カテゴリ**: オペレーション後に残る希少ではない最大カテゴリ。しきい値が十分なカテゴリをフィルタリングしない場合、出現数が上位のカテゴリは希少ではないと分類されます。0 (デフォルト) に設定する場合、カテゴリ数に対するハード制限はありません。

## 欠落した値を処理する
<a name="canvas-transform-handle-missing"></a>

欠落値は機械学習データセットで一般的に発生します。状況によっては、欠落したデータを、平均値やカテゴリで共通の値などの計算値で帰属化することが推奨されます。欠落した値は、**[欠落値を処理]** 変換グループを使用して処理できます。このグループには、次の変換が含まれます。

### 欠落値を入力する
<a name="canvas-transform-fill-missing"></a>

**[欠落値を入力]** 変換を使用して、定義した **[入力値]** に欠落値を置き換えます。

### 欠落値を帰属化する
<a name="canvas-transform-impute"></a>

**[欠落値を帰属化]** 変換を使用して、入力カテゴリと数値データで欠落値が見つかった場所の、帰属化された値を含む新しい列を作成します。設定は、データ型によって異なります。

数値データの場合、帰属化する新しい値を決定するために使用する戦略として、計算戦略を選択します。データセットに存在する値に対して平均値または中央値を帰属化するかを選択できます。Data Wrangler は、計算した値を使用して欠落値を帰属化します。

カテゴリ別データの場合、Data Wrangler は列内で最も頻度の高い値を使用して欠落値を帰属化します。カスタム文字列を帰属化するには、代わりに **[欠落値を入力]** 変換を使用します。

### 欠落値のインジケータを追加する
<a name="canvas-transform-missing-add-indicator"></a>

**[欠落値のインジケータを追加]** 変換を使用して、行に値が含まれている場合は `"false"`、行に欠落値が含まれている場合は `"true"` のブール値を含む新しいインジケータ列を作成します。

### 欠落値をドロップする
<a name="canvas-transform-drop-missing"></a>

**[欠落値をドロップ]** オプションを使用して、欠落値を含む行を **[入力列]** からドロップします。

## 列を管理する
<a name="canvas-manage-columns"></a>

次の変換を使用して、データセットの列をすばやく更新および管理できます。


****  

| 名前 | 関数 | 
| --- | --- | 
| 列をドロップ | 列を削除します。 | 
| 列を複製 | 列を複製します。 | 
| 列名を変更 | 列名を変更します。 | 
| 列を移動 |  データセット内の列の位置を移動します。列をデータセットの先頭/末尾、参照列の前/後、または特定のインデックスに移動することを選択します。  | 

## 行を管理する
<a name="canvas-transform-manage-rows"></a>

この変換グループを使用して、行の並べ替えとシャッフルオペレーションをすばやく実行できます。このグループには、次が含まれます。
+ **並べ替え**: データフレーム全体を特定の列で並べ替えます。このオプションの **[昇順]** の横にあるチェックボックスをオンにします。それ以外の場合はこのチェックボックスをオフにし、並べ替えに降順を使用します。
+ **シャッフル**: データセット内のすべての行をランダムにシャッフルします。

## ベクトルを管理する
<a name="canvas-transform-manage-vectors"></a>

この変換グループを使用して、ベクトル列を結合またはフラット化します。このグループには、次の変換が含まれます。
+ **組み合わせ**: この変換を使用して、Spark ベクトルと数値データを 1 つの列に結合します。例えば、3 つの列 (数値データを含む 2 つの列とベクトルを含む 1 つの列) を組み合わせることができます。結合するすべての列を **[入力列]** に追加し、結合したデータの **[出力列名]** を指定します。
+ **フラット化**: この変換を使用して、ベクトルデータを含む 1 つの列をフラット化します。入力列には PySpark ベクトル、または配列のようなオブジェクトが含まれている必要があります。**[出力数を検出する方法]** を指定して作成される列の数を制御できます。例えば、**[最初のベクトルの長さ]** を選択すると、列で見つかった最初の有効なベクトルまたは配列の要素の数によって、作成される出力列の数が決まります。項目が多すぎる他のすべての入力ベクトルは切り捨てられます。項目が少なすぎる入力には NaN が入力されます。

  また、出力列ごとにプレフィックスとして使用される **[出力プレフィックス]** を指定することもできます。

## 数値を処理する
<a name="canvas-transform-process-numeric"></a>

**[数値を処理]** 特徴量グループを使用して数値データを処理できます。このグループの各スカラーは Spark ライブラリを使用して定義されます。以下のスケーラーがサポートされています。
+ **標準スケーラー**: 各値から平均値を減算し、単位分散にスケーリングして入力列を標準化します。詳細については、Spark のドキュメントの「[StandardScaler](https://spark.apache.org/docs/latest/ml-features#standardscaler)」を参照してください。
+ **堅牢なスケーラー**: 外れ値に対して堅牢な統計を使用し、入力列をスケーリングします。詳細については、Spark のドキュメントの「[RobustScaler](https://spark.apache.org/docs/latest/ml-features#robustscaler)」を参照してください。
+ **最小最大スケーラー**: 各特徴量を指定された範囲にスケーリングして、入力列を変換します。詳細については、Spark のドキュメントの「[minMaxScaler](https://spark.apache.org/docs/latest/ml-features#minmaxscaler)」を参照してください。
+ **最大絶対スケーラー**: 各値を最大絶対値で分割し、入力列をスケーリングします。詳細については、Spark のドキュメントの「[maxAbsScaler](https://spark.apache.org/docs/latest/ml-features#maxabsscaler)」を参照してください。

## サンプリング
<a name="canvas-transform-sampling"></a>

データをインポートしたら、**サンプリング**トランスフォーマーを使用して、データの 1 つ以上のサンプルを取得できます。サンプリングトランスフォーマーを使用すると、Data Wrangler は元のデータセットをサンプリングします。

次のいずれかのサンプリング方法を選択できます。
+ **上限**: 最初の行から指定した上限までデータセットをサンプリングします。
+ **ランダム化**: 指定したサイズのランダムサンプルを取得します。
+ **層別化**: 層別化されたランダムなサンプルを取得します。

ランダム化されたサンプルを層別化して、それがデータセットの元の分布を表していることを確認できます。

複数のユースケースに対してデータ準備を行っている場合があります。ユースケースごとに異なるサンプルを採取し、異なる変換セットを適用できます。

以下の手順では、ランダムサンプルを作成するプロセスを説明します。

データからランダムサンプルを取得するには。

1. インポートしたデータセットの右にある **[\$1]** を選択します。データセットの名前は **[\$1]** の下にあります。

1. **[変換を追加]** を選択します。

1. **[サンプリング]** を選択します。

1. **[サンプリング方法]** では、サンプリング方法を選択します。

1. **[おおよそのサンプルサイズ]** では、サンプルに含める観測値のおおよその数を選択します。

1. (オプション) 再現性のあるサンプルを作成するには、**[ランダムシード]** に整数を指定します。

以下の手順では、層別化サンプルを作成するプロセスを説明します。

データから層別化サンプルを取得するには。

1. インポートしたデータセットの右にある **[\$1]** を選択します。データセットの名前は **[\$1]** の下にあります。

1. **[変換を追加]** を選択します。

1. **[サンプリング]** を選択します。

1. **[サンプリング方法]** では、サンプリング方法を選択します。

1. **[おおよそのサンプルサイズ]** では、サンプルに含める観測値のおおよその数を選択します。

1. **[層別化列]** には、層別化する列の名前を指定します。

1. (オプション) 再現性のあるサンプルを作成するには、**[ランダムシード]** に整数を指定します。

## 検索および編集
<a name="canvas-transform-search-edit"></a>

このセクションでは、文字列内の特定のパターンを検索および編集する方法について説明します。例えば、文やドキュメント内の文字列を検索して更新したり、区切り文字で文字列を分割したり、特定の文字列の出現を検索したりできます。

次の変換は、**[検索および編集]** でサポートされています。すべての変換は、**[入力列]** で文字列のコピーを返し、結果を新しい出力列に追加します。


****  

| 名前 | 関数 | 
| --- | --- | 
|  部分文字列を検索  |  検索した **[部分文字列]** の最初に出現したインデックスを返します。検索はそれぞれ **[開始]** で開始して **[終了]** で終了します。  | 
|  部分文字列を右から検索  |  検索した **[部分文字列]** が最後に見つかった位置のインデックスを返します。検索はそれぞれ **[開始]** で開始して **[終了]** で終了します。  | 
|  プレフィックスに一致  |  文字列に指定された **[パターン]** が含まれている場合にブール値を返します。パターンには、文字シーケンスまたは正規表現のいずれかを指定できます。オプションで、パターンの大文字と小文字を区別できます。  | 
|  すべての出現を検索  |  指定されたパターンのすべての出現を含む配列を返します。パターンには、文字シーケンスまたは正規表現のいずれかを指定できます。  | 
|  正規表現を使用して抽出  |  指定された正規表現パターンに一致する文字列を返します。  | 
|  区切り文字間を抽出  |  **[左区切り文字]** と **[右区切り文字]** の間に見つかったすべての文字を含む文字列を返します。  | 
|  位置から抽出  |  入力文字列の **[開始位置]** から開始し、開始位置に **[長さ]** を足した位置までのすべての文字が含まれる文字列を返します。  | 
|  部分文字列を検索して置換  |  指定された **[パターン]** (正規表現) のすべての一致が **[置換文字列]** で置き換えられた文字列を返します。  | 
|  区切り文字を置き換え  |  **[左区切り記号]** の最初の出現と **[右の区切り記号]** の最後の出現との間に見つかった部分文字列が **[置換文字列]** に置き換えられた文字列を返します。一致が見つからない場合、何も置き換えられません。  | 
|  位置から置き換え  |  **[開始位置]** と **[開始位置]** に **[長さ]** を足した位置との間の部分文字列が **[置換文字列]** に置き換えられた文字列を返します。**[Start position]** (開始位置) に **[length]** (長さ) を足すと、置換文字列の長さよりも長くなる場合、出力に **…** が含まれます。  | 
|  正規表現を欠落値に変換  |  文字列が無効な場合は `None` に変換して結果を返します。有効性は **[パターン]** の正規表現で定義されます。  | 
|  区切り文字で文字列を分割  |  **[区切り記号]** で **[最大分割数]** (オプション) まで分割された入力文字列から文字列の配列を返します。区切り文字のデフォルトは空白です。  | 

## データの分割
<a name="canvas-transform-split-data"></a>

**[データの分割]** 変換を使用して、データセットを 2 つまたは 3 つのデータセットに分割します。例えば、データセットをモデルのトレーニングに使用するデータセットとテストに使用するデータセットに分割できます。各分割に含まれるデータセットの割合を決定できます。例えば、1 つのデータセットを 2 つのデータセットに分割する場合、トレーニングデータセットには 80% のデータが含まれ、テストデータセットには 20% のデータが含まれるようにできます。

データを 3 つのデータセットに分割すると、トレーニング、検証、テストのデータセットを作成できます。ターゲット列をドロップすると、テストデータセットでのモデルのパフォーマンスを確認できます。

ユースケースによって、各データセットが取得する元のデータセットの量と、データの分割に使用する方法が決まります。例えば、層別化分割を使用して、ターゲット列の観測値の分布がデータセット全体で同じになるようにしたいかもしれません。次の分割変換を使用できます。
+ ランダム分割 – 各分割は、元のデータセットのランダムで重複しないサンプルです。データセットが大きい場合、ランダム分割を使用すると計算コストが高くなり、順序付き分割よりも時間がかかる場合があります。
+ 順序付き分割 – 観測値の順序に基づいてデータセットを分割します。例えば、トレーニングテストを 80/20 に分割すると、データセットの 80% を占める最初の観測値がトレーニングデータセットに送られます。観測値の最後の 20% はテストデータセットに送られます。順序付き分割は、分割間でデータの既存の順序を維持するのに効果的です。
+ 層別化分割 – データセットを分割して、入力列の観測数が比例表現になるようにします。観測値 1、1、1、1、1、1、2、2、2、2、2、2、2、2、3、3、3、3、3、3、3 を持つ入力列の場合、列を 80/20 に分割すると、1 の約 80%、2 の 80%、3 の 80%がトレーニングセットに送られます。各タイプの観測値の約 20% がテストセットに送られます。
+ キーによる分割 – 同じキーを持つデータが複数回分割されるのを防ぎます。例えば、「customer\$1id」という列を持つデータセットがあり、それをキーとして使用している場合、顧客 ID が複数分割されることはありません。

データを分割したら、各データセットに追加の変換を適用できます。ほとんどのユースケースでは、これらは必要ありません。

Data Wrangler は分割の比率を計算してパフォーマンスを向上させます。誤差のしきい値を選択して分割の精度を設定できます。誤差のしきい値を低くすると、分割に指定した比率がより正確に反映されます。誤差のしきい値を高く設定すると、パフォーマンスは向上しますが、精度は低下します。

データを完全に分割するには、エラーしきい値を 0 に設定します。パフォーマンスを向上させるために 0 から 1 までのしきい値を指定できます。1 より大きい値を指定した場合、Data Wrangler はその値を 1 と解釈します。

データセットに 10,000 行あり、誤差 0.001 で 80/20 の分割を指定した場合、次の結果のいずれかに近い観測値が得られます。
+ トレーニングセットには 8,010 個の観測値、テストセットには 1,990 個の観測値
+ トレーニングセットには 7,990 個の観測値、テストセットには 2,010 個の観測値

前の例のテストセットの観測値の数は 8,010～7,990 の間です。

デフォルトでは、Data Wrangler はランダムシードを使用して分割を再現できるようにします。シードに別の値を指定して、再現可能な別の分割を作成できます。

------
#### [ Randomized split ]

データセットをランダムに分割するには、次の手順に従います。

データセットをランダムに分割するには、次の手順を実行します。

1. 分割するデータセットを含むノードの横にある **[\$1]** を選択します。

1. **[変換を追加]** を選択します。

1. **[データの共有]** を選択します。

1. (オプション) **[分割]** には、各分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. (オプション) **[\$1]** を選択して追加の分割を作成します。

   1. すべての分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. (オプション) **[エラーしきい値]** にはデフォルト値以外の値を指定します。

1. (オプション) **[ランダムシード]** の値を指定します。

1. **[プレビュー]** を選択します。

1. **[追加]** を選択します。

------
#### [ Ordered split ]

データセットを順序付き分割するには、次の手順に従います。

データセットを順序付き分割するには、次の手順を実行します。

1. 分割するデータセットを含むノードの横にある **[\$1]** を選択します。

1. **[変換を追加]** を選択します。

1. **[変換]** は **[順序付き分割]** を選択します。

1. **[データの共有]** を選択します。

1. (オプション) **[分割]** には、各分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. (オプション) **[\$1]** を選択して追加の分割を作成します。

   1. すべての分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. (オプション) **[エラーしきい値]** にはデフォルト値以外の値を指定します。

1. (オプション) **[入力列]** には、数値を含む列を指定します。列の値を使用して、各分割に含まれるレコードを推測します。1 つの分割には小さい値が、もう 1 つの分割には大きい値が割り当てられます。

1. (オプション) **[重複を処理]** を選択すると、重複する値にノイズが加わり、完全に一意の値で構成されるデータセットが作成されます。

1. (オプション) **[ランダムシード]** の値を指定します。

1. **[プレビュー]** を選択します。

1. **[Add]** (追加) を選択します。

------
#### [ Stratified split ]

データセットを層別化分割するには、次の手順に従います。

データセットを層別化分割するには、次の手順を実行します。

1. 分割するデータセットを含むノードの横にある **[\$1]** を選択します。

1. **[変換を追加]** を選択します。

1. **[データの共有]** を選択します。

1. **[変換]** で **[層別化分割]** を選択します。

1. (オプション) **[分割]** には、各分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. (オプション) **[\$1]** を選択して追加の分割を作成します。

   1. すべての分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. **[入力列]** には、最大 100 個の一意の値を含む列を指定します。Data Wrangler は、100 を超える一意の値を持つ列を階層化できません。

1. (オプション) **[エラーしきい値]** にはデフォルト値以外の値を指定します。

1. (オプション) 別のシードを指定するには、**[ランダムシード]** の値を指定します。

1. **[プレビュー]** を選択します。

1. **[Add]** (追加) を選択します。

------
#### [ Split by column keys ]

以下の手順を使用して、データセットの列キーで分割します。

データセットの列キーで分割するには、次の手順を実行します。

1. 分割するデータセットを含むノードの横にある **[\$1]** を選択します。

1. **[変換を追加]** を選択します。

1. **[データの共有]** を選択します。

1. **[変換]** で **[キーで分割]** を選択します。

1. (オプション) **[分割]** には、各分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. (オプション) **[\$1]** を選択して追加の分割を作成します。

   1. すべての分割の名前と比率を指定します。比率の合計は 1 になる必要があります。

1. **[キー列]** には、両方のデータセットに表示したくない値を含む列を指定します。

1. (オプション) **[エラーしきい値]** にはデフォルト値以外の値を指定します。

1. **[プレビュー]** を選択します。

1. **[Add]** (追加) を選択します。

------

## 値を型として解析
<a name="canvas-transform-cast-type"></a>

この変換を使用して、列を新しい型にキャストします。サポートされている Data Wrangler のデータ型は次のとおりです。
+ Long
+ 浮動小数点数
+ ブール値
+ 日付 (日、月、年をそれぞれ表す dd-MM-yyyy 形式) 
+ String

## 文字列を検証する
<a name="canvas-transform-validate-string"></a>

**[文字列を検証]** 変換で、テキストデータの行が、指定された条件を満たしていることを示す新しい列を作成します。例えば、**[文字列を検証]** 変換を使用して、文字列に小文字のみが含まれていることを確認します。次の変換が、**[文字列を検証]** でサポートされています。

この変換グループには、次の変換が含まれています。変換がブール値を出力する場合、`True` は `1` で、`False` は `0` で表されます。


****  

| 名前 | 関数 | 
| --- | --- | 
|  文字列の長さ  |  文字列の長さが指定された長さに等しい場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  Starts with (で始まる)  |  文字列が指定されたプレフィックスで始まる場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  Ends with  |  文字列の長さが指定された長さに等しい場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  英数字  |  文字列に数字と文字のみが含まれている場合,`True` を返します。それ以外の場合は `False` を返します。  | 
|  英字  |  文字列に文字のみが含まれている場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  数字  |  文字列に数字のみが含まれている場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  スペース  |  文字列に数字と文字のみが含まれている場合,`True` を返します。それ以外の場合は `False` を返します。  | 
|  タイトル  |  文字列に空白が含まれている場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  小文字  |  文字列に小文字のみが含まれている場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  大文字  |  文字列に大文字のみが含まれている場合、`True` を返します。それ以外の場合は `False` を返します。  | 
|  数値  |  文字列に数値のみが含まれている場合,`True` を返します。それ以外の場合は `False` を返します。  | 
|  小数  |  文字列に小数のみが含まれている場合,`True` を返します。それ以外の場合は `False` を返します。  | 

## JSON データのネスト解除
<a name="canvas-transform-flatten-column"></a>

.csv ファイルがある場合、データセットに JSON 文字列の値が含まれている可能性があります。同様に、Parquet ファイルまたは JSON ドキュメントの列にネストされたデータがある場合があります。

**構造化されたフラット化**演算子を使用して、最初のレベルのキーを別々の列に分割します。第 1 レベルのキーは、値内にネストされていないキーです。

例えば、データセットに JSON 文字列として保存された各人物のデモグラフィック情報含む*人*列を持つデータセットがあるとします。JSON 文字列は次のようになります。

```
 "{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"
```

**構造化されたフラット化**演算子は、次の第 1 レベルのキーをデータセット内の追加の列に変換します。
+ seq
+ 名前
+ age
+ city
+ state

Data Wrangler はキーの値を列の下の値として配置します。次に、JSON の列名と値を示します。

```
seq, name,                                    age, city, state
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
```

JSON を含むデータセット内の各値について、**構造化されたフラット化**演算子は、第 1 レベルのキーの列を作成します。ネストされたキーの列を作成するには、演算子を再度呼び出します。前述の例では、演算子を呼び出すと列が作成されます。
+ name\$1first
+ name\$1last

次の例は、オペレーションを再度呼び出した結果のデータセットを示しています。

```
seq, name,                                    age, city, state, name_first, name_last
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson
```

**[フラット化するキー]** を選択して、個別の列として抽出する第 1 レベルのキーを指定します。キーを指定しない場合、Data Wrangler はデフォルトですべてのキーを抽出します。

## 配列の分解
<a name="canvas-transform-explode-array"></a>

**[配列の分解]** を使用して、配列の値を個別の出力行に展開します。例えば、このオペレーションでは、配列 [[1, 2, 3,], [4, 5, 6], [7, 8, 9]] の各値を取得し、次の行を含む新しい列を作成できます。

```
                [1, 2, 3]
                [4, 5, 6]
                [7, 8, 9]
```

Data Wrangler は、新しい列に input\$1column\$1name\$1flatten という名前を付けます。

**[配列の分解]** オペレーションを複数回呼び出して、配列のネストされた値を個別の出力列に取得できます。次の例は、ネストされた配列を持つデータセットに対してオペレーションを複数回呼び出した結果を示しています。

ネストされた配列の値を別の列に配置する


| id | array | id | array\$1items | id | array\$1items\$1items | 
| --- | --- | --- | --- | --- | --- | 
| 1 | [[猫、犬]、[コウモリ、カエル]] | 1 | [猫、犬] | 1 | cat | 
| 2 |  [[バラ、ペチュニア]、[ユリ、デイジー]]  | 1 | [コウモリ、カエル] | 1 | 犬 | 
|  |  | 2 | [バラ、ペチュニア] | 1 | bat | 
|  |  | 2 | [ユリ、デイジー] | 1 | カエル | 
|  |  |  | 2 | 2 | バラ | 
|  |  |  | 2 | 2 | ペチュニア | 
|  |  |  | 2 | 2 | ユリ | 
|  |  |  | 2 | 2 | デイジー | 

## 画像データを変換する
<a name="canvas-transform-image"></a>

Data Wrangler を使用して、機械学習 (ML) パイプラインに使用している画像をインポートして変換します。画像データを準備したら、それを Data Wrangler フローから ML パイプラインにエクスポートできます。

ここに記載されている情報を使用して、Data Wrangler での画像データのインポートと変換に慣れることができます。Data Wrangler は OpenCV を使用して画像をインポートします。サポートされている画像形式について詳しくは、「[Image file reading and writing](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56)」を参照してください。

画像データの変換の概念を理解したら、次のチュートリアル「[Amazon SageMaker Data Wrangler によるイメージデータの準備](https://aws.amazon.com/blogs/machine-learning/prepare-image-data-with-amazon-sagemaker-data-wrangler/)」に進んでください。

次の業界とユースケースは、変換された画像データへの機械学習の適用が役立つ例です。
+ 製造 – 組立ラインからの品目の欠陥の特定
+ 食品 – 痛んだ食品や腐った食品の識別
+ 医学 – 組織内の病変の特定

Data Wrangler で画像データを操作する場合、次のプロセスを実行します。

1. インポート – Amazon S3 バケット内の画像が含まれるディレクトリを選択して、画像を選択します。

1. 変換 – 組み込みの変換を使用して、機械学習パイプライン用の画像を準備します。

1. エクスポート – 変換した画像を、パイプラインからアクセスできる場所にエクスポートします。

次の手順に従って、画像データをインポートします。

**画像データをインポートするには**

1. **[接続の作成]** ページに移動します。

1. **[Amazon S3]** を選択します。

1. 画像データを含む Amazon S3 ファイルのパスを指定します。

1. **[ファイルタイプ]** で **[画像]** を選択します。

1. (オプション) 複数の Amazon S3 パスから画像をインポートするには、**[ネストされたディレクトリをインポート]** を選択します。

1. [**インポート**] を選択します。

Data Wrangler は、組み込みの画像変換にオープンソースの [imgaug](https://imgaug.readthedocs.io/en/latest/) ライブラリを使用します。以下の組み込みの変換を使用できます。
+ **[ResizeImage]**
+ **[EnhanceImage]**
+ **[CorruptImage]**
+ **[SplitImage]**
+ **[DropCorruptedImages]**
+ **[DropImageDuplicates]**
+ **[Brightness]**
+ **[ColorChannels]**
+ **[Grayscale]**
+ **[Rotate]**

コードを記述せずに画像を変換するには、以下の手順を使用します。

**コードを書かずに画像データを変換するには**

1. Data Wrangler フローから、インポートした画像を表すノードの横にある **[\$1]** を選択します。

1. **[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. 変換を選択して設定します。

1. **[プレビュー]** を選択します。

1. **[Add]** (追加) を選択します。

Data Wrangler が提供する変換を使用するだけでなく、独自のカスタムコードスニペットを使用することもできます。カスタムコードスニペットの使用の詳細については、「[カスタム変換](#canvas-transform-custom)」を参照してください。OpenCV ライブラリと imgaug ライブラリをコードスニペットにインポートすれば、それらに関連する変換を使用できます。以下は、画像内のエッジを検出するコードスニペットの例です。

```
# A table with your image data is stored in the `df` variable
import cv2
import numpy as np
from pyspark.sql.functions import column

from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE
from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator


@BasicImageOperationDecorator
def my_transform(image: np.ndarray) -> np.ndarray:
  # To use the code snippet on your image data, modify the following lines within the function
    HYST_THRLD_1, HYST_THRLD_2 = 100, 200
    edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2)
    return edges
    

@PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE)
def custom_image_udf(image_row):
    return my_transform(image_row)
    

df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))
```

Data Wrangler フローで変換を適用すると、Data Wrangler はデータセット内の画像のサンプルにのみ変換を適用します。アプリケーションの操作性を最適化するため、Data Wrangler は変換をすべての画像に適用するわけではありません。

## データのフィルタリング
<a name="canvas-transform-filter-data"></a>

Data Wrangler を使用して列内のデータをフィルターします。列内のデータをフィルターするときは、次のフィールドを指定します。
+ **列名** – データのフィルターに使用する列の名前。
+ **条件** – 列の値に適用するフィルターのタイプ。
+ **値** – フィルターを適用する列の値またはカテゴリ。

以下でフィルターできます。
+ **=** – 指定した値またはカテゴリと一致する値を返します。
+ **\$1=** – 指定した値またはカテゴリと一致しない値を返します。
+ **>=** – **Long** または **Float** データの場合、指定した値以上の値をフィルターします。
+ **=>** – **Long** または **Float** データの場合、指定した値以下の値をフィルターします。
+ **>** – **Long** または **Float** データの場合、指定した値より大きい値をフィルターします。
+ **<** – **Long** または **Float** データの場合、指定した値より小さい値をフィルターします。

カテゴリ `male` および `female` を含む列の場合は、`male` の値をすべて除外できます。また、すべての `female` の値をフィルターすることもできます。列には `male` と `female` の値しかないため、フィルターは `female` の値のみを含む列を返します。

複数のフィルターを追加することもできます。フィルターは複数の列または同じ列に適用できます。例えば、特定の範囲内の値のみを含む列を作成する場合は、2 つの異なるフィルターを追加します。1 つのフィルターでは、列には指定した値より大きい値が必要であることを指定します。もう 1 つのフィルターでは、列には指定した値より小さい値が必要であることを指定します。

次の手順を使用して、フィルター変換をデータに追加します。

**データをフィルターするには**

1. Data Wrangler フローから、フィルタリングするデータを含むノードの横にある **[\$1]** を選択します。

1. **[変換を追加]** を選択します。

1. **[Add step]** (ステップを追加) を選択します。

1. **[データをフィルターする]** を選択します。

1. 以下のフィールドを指定します。
   + **列名** – フィルターする列。
   + **条件** – フィルターの条件。
   + **値** – フィルターを適用する列の値またはカテゴリ。

1. (オプション) 作成したフィルターの後の **[\$1]** を選択します。

1. フィルターを設定します。

1. **[プレビュー]** を選択します。

1. **[Add]** (追加) を選択します。

# データ準備用チャット
<a name="canvas-chat-for-data-prep"></a>

**重要**  
管理者向け:  
データ準備用チャットには、`AmazonSageMakerCanvasAIServicesAccess` ポリシーが必要です。詳細については、[AWS マネージドポリシー: AmazonSageMakerCanvasAIServicesAccess](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess)を参照してください。
データ準備用チャットでは、Amazon Bedrock とその中に含まれている **Anthropic Claude** モデルにアクセスする必要があります。詳細については、「[モデルアクセスを追加する](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html#add-model-access)」を参照してください。
SageMaker Canvas データ準備は、モデルを実行しているリージョン AWS リージョン と同じ で実行する必要があります。データ準備のチャットは、米国東部 (バージニア北部）、米国西部 (オレゴン）、欧州 (フランクフルト) で利用できます AWS リージョン。

組み込みの変換と分析を使用するだけでなく、自然言語を使用して、会話インターフェイスでデータを探索、視覚化、変換することもできます。会話インターフェイス内では、自然言語クエリを使用して、ML モデルを構築するためのデータを理解して準備できます。

以下は、使用できるプロンプトの例です。
+ データを要約する
+ 列 `example-column-name` をドロップする
+ 欠損値を中央値に置き換える
+ 料金のヒストグラムをプロットする
+ 販売された最も高価な商品は何ですか?
+ 販売された固有のアイテムはいくつですか?
+ リージョン別にデータを並べ替える

プロンプトを使用してデータを変換する際は、データがどのように変換されるかを示すプレビューを表示できます。プレビューに表示される内容に基づいて、Data Wrangler フローのステップとして追加することができます。

プロンプトへのレスポンスによって、変換と分析のためのコードが生成されます。このコードは変更して、プロンプトからの出力を更新できます。例えば、分析用のコードを変更して、グラフの軸の値を変更することができます。

データを使用してチャットを開始するには、次の手順に従います。

**データを使用してチャットするには**

1. SageMaker Canvas データフローを開きます。

1. 吹き出しを選択します。  
![\[データ準備用のチャットは画面の上部にあります\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/chat-for-data-prep-welcome-step.png)

1. プロンプトを指定します。

1. (オプション) クエリによって分析が生成された場合は、**[分析に追加]** を選択して後で参照できるようにします。  
![\[編集およびコピー可能なコードブロックビュー。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/encanto-query-for-visualization.png)

1. (オプション) プロンプトを使用してデータを変換した場合は、以下を実行します。

   1. **[プレビュー]** を選択して結果を表示します。

   1. (オプション) 変換内のコードを変更し、**[更新]** を選択します。

   1. (オプション) 変換結果に満足している場合は、**[ステップに追加]** を選択して、右側のナビゲーションのステップパネルに追加します。  
![\[[ステップに追加済み] によって、変換がフローに追加されたことが確認されます。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/transform-added-to-steps-panel.png)

自然言語を使用してデータを準備したら、変換したデータを使用してモデルを作成できるようになります。モデル作成の詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。

# Data Wrangler でのデータ処理の仕組み
<a name="canvas-data-processing"></a>

Amazon SageMaker Data Wrangler データフローでデータをインタラクティブに操作している間、Amazon SageMaker Canvas ではサンプルデータセットにのみ変換を適用し、プレビューできるようにします。SageMaker Canvas でデータフローが完了したら、すべてのデータを処理して、機械学習ワークフローに適した場所に保存できます。

Data Wrangler でのデータの変換が終了した後の手順として、次のいくつかのオプションがあります。
+ [モデルを作成する](canvas-processing-export-model.md)。Canvas モデルを作成できます。ここでは、準備したデータを使用してモデルの作成を直接開始します。データセット全体を処理した後、または Data Wrangler で操作したサンプルデータのみをエクスポートすることで、モデルを作成できます。処理されたデータ (データセット全体またはサンプルデータ) は Canvas データセットとして保存されます。

  サンプルデータを使用して迅速な反復を行うことをお勧めしますが、最終モデルをトレーニングする場合はデータ全体を使用することをお勧めします。表形式モデルを構築する場合、5 GB を超えるデータセットは自動的に 5 GB にダウンサンプリングされます。時系列予測モデルの場合、30 GB を超えるデータセットは 30 GB にダウンサンプリングされます。

  モデルの作成の詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。
+ [データをエクスポートする](canvas-export-data.md)。データをエクスポートして、機械学習ワークフローで使用できます。データをエクスポートすることを選択した場合には、いくつかのオプションがあります。
  + データをデータセットとして Canvas アプリケーションに保存できます。Canvas データセットでサポートされているファイルの種類と、Canvas にデータをインポートする際の追加要件の詳細については、「[データセットの作成](canvas-import-dataset.md)」を参照してください。
  + データを Amazon S3 に保存できます。Canvas メモリの可用性に応じて、データはアプリケーション内で処理され、Amazon S3 にエクスポートされます。データセットのサイズが Canvas で処理できるサイズを超える場合、デフォルトでは、Canvas は EMR Serverless ジョブを使用して複数のコンピューティングインスタンスにスケールし、完全なデータセットを処理した後、Amazon S3 にエクスポートします。SageMaker Processing ジョブを手動で設定して、データの処理に使用されるコンピューティングリソースをより詳細に制御することもできます。
+ [データフローをエクスポートする](canvas-export-data-flow.md)。Canvas の外部で変換を変更または実行できるように、データフローのコードを保存することもできます。Canvas には、データフロー変換を Jupyter Notebook に Python コードとして保存するためのオプションがあります。このフローは Amazon S3 にエクスポートして、機械学習ワークフローの他の場所で使用することができます。

データをデータフローからエクスポートし、Canvas データセットとして、または Amazon S3 に保存すると、データフローに新しい送信先ノードが作成されます。これは、処理されたデータが保存されている場所を示す最後のノードです。複数のエクスポート操作を実行する場合は、追加の送信先ノードをフローに追加できます。例えば、データフロー内の異なる時点からデータをエクスポートして、変換の一部のみを適用したり、変換したデータを異なる Amazon S3 ロケーションにエクスポートしたりできます。送信先ノードを追加または編集する方法の詳細については、「[宛先ノードの追加](canvas-destination-nodes-add.md)」および「[宛先ノードを編集する](canvas-destination-nodes-edit.md)」を参照してください。

Amazon EventBridge でスケジュールを設定して、スケジュールに従ってデータを自動的に処理およびエクスポートする方法の詳細については、「[新しいデータを自動的に処理するスケジュールを作成する](canvas-data-export-schedule-job.md)」を参照してください。

# エクスポートしてモデルを作成する
<a name="canvas-processing-export-model"></a>

データフローから数回クリックするだけで、変換されたデータをエクスポートして、Canvas で ML モデルの作成を開始できます。データは Canvas データセットとして保存され、新しいモデルのモデル構築設定ページに移動します。

変換されたデータを使用して Canvas モデルを作成するには:

1. データフローに移動します。

1. エクスポートするノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューから、**[モデルを作成]** を選択します。

1. **[エクスポートしてモデルを作成する]** サイドパネルで、新しいデータセットの **[データセット名]** を入力します。

1. モデルの構築に進む前に、**[データセット全体を処理]** オプションを選択したままにして、データセット全体を処理およびエクスポートします。データフローで作業しているインタラクティブなサンプルデータを使用してモデルをトレーニングする場合は、このオプションをオフにします。

1. **[モデル名]** に入力して新しいモデルに名前を付けます。

1. **[問題のタイプ]** または構築するモデルのタイプを選択します。SageMaker Canvas がサポートするモデルタイプの詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。

1. **[ターゲット列]**、またはモデルが予測する値を選択します。

1. **[エクスポートしてモデルを作成する]** を選択します。

新しい Canvas モデルの **[構築]** タブが開き、モデルの設定とトレーニングを完了できます。モデルの構築方法の詳細については、「[モデルの構築](canvas-build-model-how-to.md)」を参照してください。

# データのエクスポート
<a name="canvas-export-data"></a>

データをエクスポートして、データフローからの変換を、インポートされた完全なデータセットに適用します。データフロー内の任意のノードを次の場所にエクスポートできます。
+ SageMaker Canvas データセット
+ Amazon S3

Canvas でモデルをトレーニングする場合は、変換された完全なデータセットを Canvas データセットとしてエクスポートできます。SageMaker Canvas の外部にある機械学習ワークフローで変換されたデータを使用する場合は、データセットを Amazon S3 にエクスポートできます。

## Canvas データセットへのエクスポート
<a name="canvas-export-data-canvas"></a>

データフロー内のノードから SageMaker Canvas データセットをエクスポートするには、次の手順に従います。

**フロー内のノードを SageMaker Canvas データセットとしてエクスポートするには**

1. データフローに移動します。

1. エクスポートするノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューで、**[エクスポート]** にカーソルを合わせ、**[データを Canvas データセットにエクスポート]** を選択します。

1. **[キャンバスデータセットへのエクスポート]** サイドパネルで、新しいデータセットの **[データセット名]** を入力します。

1. SageMaker Canvas で完全なデータセットを処理して保存する場合は、**[データセット全体を処理]** オプションを選択したままにします。このオプションをオフにすると、データフローで作業しているサンプルデータにのみ変換が適用されます。

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

これで、Canvas アプリケーションの **[データセット]** ページに移動し、新しいデータセットを表示できるようになりました。

## Amazon S3 へのエクスポート
<a name="canvas-export-data-s3"></a>

データを Amazon S3 にエクスポートするときは、あらゆるサイズのデータを変換して処理するようにスケールできます。Canvas では、アプリケーションのメモリがデータセットのサイズを処理できる場合、データをローカルで自動的に処理します。データセットのサイズが 5 GB のローカルメモリ容量を超える場合、Canvas はユーザーに代わってリモートジョブを開始し、追加のコンピューティングリソースをプロビジョニングしてデータをより迅速に処理します。デフォルトでは、Canvas は Amazon EMR Serverless を使用してこれらのリモートジョブを実行します。ただし、独自の設定を使用して、EMR Serverless ジョブまたは SageMaker 処理ジョブを使用するように Canvas を手動で設定できます。

**注記**  
EMR Serverless ジョブを実行すると、デフォルトでジョブは Canvas アプリケーションの IAM ロール、KMS キー設定、タグを継承します。

Canvas のリモートジョブのオプションを以下にまとめます。
+ **EMR Serverless**：Canvas がリモートジョブに使用するデフォルトのオプションです。EMR Serverless では、コンピューティングリソースを自動的にプロビジョニングおよびスケールしてデータを処理するため、ワークロードに適したコンピューティングリソースの選択を心配する必要がありません。EMR Serverless の詳細については、[EMR Serverless ユーザーガイド](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html)を参照してください。
+ **SageMaker 処理**：SageMaker 処理ジョブは、データの処理に使用されるコンピューティングリソースに対して高度なオプションときめ細かな制御を提供します。例えば、コンピューティングインスタンスのタイプと数を指定したり、独自の VPC でジョブを設定してネットワークアクセスを制御したり、処理ジョブを自動化したりできます。処理ジョブの自動化の詳細については、「[新しいデータを自動的に処理するスケジュールを作成する](canvas-data-export-schedule-job.md)」を参照してください。SageMaker の処理ジョブの全般的な情報については、「[SageMaker Processing によるデータ変換ワークロード](processing-job.md)」を参照してください。

Amazon S3 へのエクスポートでは、次のファイルの種類がサポートされています。
+ CSV
+ Parquet

開始するには、以下の前提条件を参照してください。

### EMR Serverless ジョブの前提条件
<a name="canvas-export-data-emr-prereqs"></a>

EMR Serverless リソースを使用するリモートジョブを作成するには、必要な権限が必要です。Amazon SageMaker AI ドメインまたはユーザープロファイル設定を使用してアクセス許可を付与することも、ユーザーの IAM AWS ロールを手動で設定することもできます。大規模なデータ処理を実行する権限をユーザーに付与する方法については、「[ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する](canvas-large-data-permissions.md)」を参照してください。

これらのポリシーを設定せずに、Data Wrangler を使用して大規模なデータセットを処理する必要がある場合は、代わりに SageMaker 処理ジョブを使用できます。

データを Amazon S3 にエクスポートする場合は、以下の手順に従います。リモートジョブを設定するには、オプションの高度なステップに従います。

**フロー内のノードを Amazon S3 にエクスポートするには**

1. データフローに移動します。

1. エクスポートするノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューで、**[エクスポート]** にカーソルを合わせ、**[データを Amazon S3 にエクスポート]** を選択します。

1. **[Amazon S3 にエクスポート]** サイドパネルで、新しいデータセットの **[データセット名]** を変更できます。

1. **[S3 の場所]** には、データセットのエクスポート先の Amazon S3 の場所を入力します。S3 の場所または S3 のアクセスポイントの S3 URI、エイリアス、または ARN を入力できます。アクセスポイントの詳細については、*Amazon S3 ユーザーガイド*の「[Amazon S3 アクセスポイントを使用したデータアクセスの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)」を参照してください。

1. (オプション) **[詳細設定]** では、以下のフィールドの値を指定します。

   1. **ファイルタイプ** – エクスポートされたデータのファイル形式。

   1. **区切り記号** – ファイル内の値を区切るために使用する区切り記号。

   1. **圧縮** – ファイルサイズを小さくするために使用する圧縮方法。

   1. **パーティション数** – Canvas がジョブの出力として書き込むデータセットファイルの数。

   1. **列を選択** – データから列のサブセットを選択して、パーティションに含めることができます。

1. Canvas でデータフロー変換をデータセット全体に適用し、結果をエクスポートする場合は、**[データセット全体を処理]** オプションを選択したままにします。このオプションの選択を解除すると、Canvas はインタラクティブ Data Wrangler データフローで使用されるデータセットのサンプルにのみ変換を適用します。
**注記**  
データのサンプルのみをエクスポートする場合は、アプリケーション内のデータが処理され、リモートジョブは作成されません。

1. Canvas アプリケーションメモリまたは EMR Serverless ジョブを使用してジョブを実行するかどうかを Canvas に自動的に判断させる場合は、**[自動ジョブ設定]** オプションを選択したままにします。このオプションの選択を解除し、ジョブを手動で設定する場合は、EMR Serverless ジョブまたは SageMaker 処理ジョブのどちらを使用するかを選択できます。EMR Serverless ジョブまたは SageMaker 処理ジョブを設定する方法については、データをエクスポートする前に、この手順の後のセクションを参照してください。

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

次の手順は、完全なデータセットを Amazon S3 にエクスポートするときに、EMR Serverless または SageMaker 処理のリモートジョブ設定を手動で設定する方法を示します。

------
#### [ EMR Serverless ]

Amazon S3 へのエクスポート中に EMR Serverless ジョブを設定するには、以下を実行します。

1. [Amazon S3 にエクスポート] サイドパネルで、**[自動ジョブ設定]** オプションをオフにします。

1. **[EMR Serverless]** を選択します。

1. **[ジョブ名]** に、EMR Serverless ジョブの名前を入力します。名前には、文字、数字、ハイフン、アンダースコアを含めることができます。

1. **[IAM ロール]** には、ユーザーの IAM 実行ロールを入力します。このロールには、EMR Serverless アプリケーションを実行するために必要な権限が必要です。詳細については、「[ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する](canvas-large-data-permissions.md)」を参照してください。

1. (オプション) **KMS キー**の場合は、 のキー ID または ARN を指定 AWS KMS key してジョブログを暗号化します。キーを入力しない場合、Canvas は EMR Serverless のデフォルトキーを使用します。

1. (オプション) **[モニタリング設定]** には、ログを発行する Amazon CloudWatch Logs ロググループの名前を入力します。

1. (オプション) **[タグ]** では、キーと値のペアで構成される EMR Serverless ジョブにメタデータタグを追加します。これらのタグは、ジョブの分類と検索に使用できます。

1. **[エクスポート]** を選択してジョブを開始します。

------
#### [ SageMaker Processing ]

Amazon S3 へのエクスポート中に SageMaker 処理ジョブを設定するには、以下を実行します。

1. **[Amazon S3 にエクスポート]** サイドパネルで、**[自動ジョブ設定]** オプションをオフにします。

1. **[SageMaker 処理]** を選択します。

1. **[ジョブ名]** には、SageMaker AI 処理ジョブの名前を入力します。

1. **[インスタンスタイプ]** では、処理ジョブを実行するコンピューティングインスタンスのタイプを選択します。

1. **[インスタンス数]** で、起動するコンピューティングインスタンスの数を指定します。

1. **[IAM ロール]** には、ユーザーの IAM 実行ロールを入力します。このロールには、SageMaker AI がユーザーに代わって処理ジョブを作成および実行するために必要なアクセス許可が付与されている必要があります。これらの権限は、[AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) ポリシーが IAM ロールにアタッチされている場合に付与されます。

1. **[ボリュームサイズ]** には、各処理インスタンスにアタッチされている ML ストレージボリュームのストレージサイズを GB 単位で入力します。予想される入出力データサイズに基づいてサイズを選択します。

1. (オプション) **[ボリューム KMS キー]** には、ストレージボリュームを暗号化するための KMS キーを指定します。キーを指定しない場合は、デフォルトの Amazon EBS 暗号化キーが使用されます。

1. (オプション) **[KMS キー]** には、処理ジョブで使用される Amazon S3 データソースの入出力を暗号化するための KMS キーを指定します。

1. (オプション) **[Spark メモリ設定]** では、以下を実行します｡

   1. ジョブの調整とスケジューリングを処理する Spark ドライバーノードの **[ドライバーメモリ (MB)]** を入力します。

   1. ジョブで個々のタスクを実行する Spark エグゼキューターノードの **[エグゼキューターメモリ (MB)]** を入力します。

1. (オプション) **[ネットワーク設定]** で、以下を実行します。

   1. **[サブネット設定]** には、起動する処理インスタンスの VPC サブネットの ID を入力します。デフォルトでは、ジョブはデフォルトの VPC の設定を使用します。

   1. **[セキュリティグループ設定]** には、インバウンドおよびアウトバウンドの接続ルールを制御するセキュリティグループの ID を入力します。

   1. **[コンテナ間のトラフィック暗号化を有効にする]** オプションをオンにして、ジョブの実行中に処理コンテナ間のネットワーク通信を暗号化します。

1. (オプション) **[スケジュールの関連付け]** では、Amazon EventBridge スケジュールを作成して、処理ジョブを定期的な間隔で実行することを選択できます。**[新しいスケジュールを作成]** を選択し、ダイアログボックスに入力します。このセクションへの入力とスケジュールどおりに処理ジョブを実行する方法の詳細については、「[新しいデータを自動的に処理するスケジュールを作成する](canvas-data-export-schedule-job.md)」を参照してください。

1. (オプション) **[タグ]** をキーと値のペアとして追加し、処理ジョブを分類して検索できるようにします。

1. **[エクスポート]** を選択してジョブを開始します。

------

データをエクスポートすると、完全に処理されたデータセットが指定の Amazon S3 の場所に含まれます。

# データフローのエクスポート
<a name="canvas-export-data-flow"></a>

データフローをエクスポートすると、Data Wrangler で行ったオペレーションが変換され、変更して実行できる Python コードの Jupyter Notebook にエクスポートされます。これは、データ変換のコードを機械学習パイプラインに統合するのに役立ちます。

データフロー内の任意のデータノードを選択してエクスポートできます。データノードをエクスポートすると、ノードが表す変換とその前の変換がエクスポートされます。

**データフローを Jupyter Notebook としてエクスポートするには**

1. データフローに移動します。

1. エクスポートするノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューで、**[エクスポート]** にカーソルを合わせ、**[Jupyter Notebook を介してエクスポート]** にカーソルを合わせます。

1. 次のいずれかを選択します。
   + **SageMaker Pipelines**
   + **Amazon S3**
   + **SageMaker AI 推論パイプライン**
   + **SageMaker AI Feature Store**
   + **Python コード**

1. **[ノートブックとしてデータフローをエクスポート]** ダイアログボックスが開きます。次のいずれかを選択します。
   + **ローカルコピーをダウンロード**
   + **S3 の場所にエクスポート**

1. **[S3 の場所にエクスポート]** を選択した場合は、ノートブックのエクスポート先の Amazon S3 の場所を入力します。

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

Jupyter Notebook は、ローカルマシンにダウンロードされるか、指定した Amazon S3 の場所に保存されています。

# 宛先ノードの追加
<a name="canvas-destination-nodes-add"></a>

SageMaker Canvas の宛先ノードは、処理および変換されたデータを保存する場所を指定します。変換されたデータを Amazon S3 にエクスポートすることを選択すると、指定された宛先ノードの場所が使用され、データフローで設定したすべての変換が適用されます。Amazon S3 へのジョブのエクスポートの詳細については、前のセクション「[Amazon S3 へのエクスポート](canvas-export-data.md#canvas-export-data-s3)」を参照してください。

デフォルトでは、Amazon S3 にデータをエクスポートすることを選択すると、データフローに宛先ノードが追加されます。ただし、フローには複数の宛先ノードを追加できるため、異なるデータの変換やバリエーションのセットを異なる Amazon S3 の場所に同時にエクスポートできます。例えば、すべての変換を適用した後にデータをエクスポートする 1 つの宛先ノードと、結合操作などの特定の初期変換後にのみデータをエクスポートする別の宛先ノードを作成できます。この柔軟性により、変換されたデータのさまざまなバージョンやサブセットを、さまざまなユースケースに合わせて個別の S3 の場所にエクスポートして保存できます。

次の手順に従って、宛先ノードをデータフローに追加します。

**宛先ノードを追加するには**

1. データフローに移動します。

1. 宛先ノードを配置するノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューで、**[エクスポート]** にカーソルを合わせ、**[送信先を追加]** を選択します。

1. **[エクスポート先]** サイドパネルで、**[データセット名]** を入力して出力に名前を付けます。

1. **[Amazon S3 の場所]** には、出力のエクスポート先の Amazon S3 の場所を入力します。S3 の場所または S3 のアクセスポイントの S3 URI、エイリアス、または ARN を入力できます。アクセスポイントの詳細については、*Amazon S3 ユーザーガイド*の「[Amazon S3 アクセスポイントを使用したデータアクセスの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)」を参照してください。

1. **[エクスポート設定]** では、次のフィールドを指定します。

   1. **ファイルタイプ** – エクスポートされたデータのファイル形式。

   1. **区切り記号** – ファイル内の値を区切るために使用する区切り記号。

   1. **圧縮** – ファイルサイズを小さくするために使用する圧縮方法。

1. **[パーティション化]** では、次のフィールドを指定します。

   1. **パーティション数** – SageMaker Canvas がジョブの出力として書き込むデータセットファイルの数。

   1. **列を選択** – データから列のサブセットを選択して、パーティションに含めることができます。

1. 宛先ノードをデータフローに単に追加する場合は **[追加]** を選択し、ノードを追加してエクスポートジョブを開始する場合は **[追加]** を選択してから **[エクスポート]** を選択します。

これで、フローに新しい宛先ノードが表示されます。

# 宛先ノードを編集する
<a name="canvas-destination-nodes-edit"></a>

Amazon SageMaker Canvas データフローの*宛先ノード*は、処理および変換されたデータが保存される Amazon S3 の場所を指定し、データフローに設定されているすべての変換を適用します。既存の宛先ノードの設定を編集し、ジョブを再実行してから、指定された Amazon S3 の場所のデータを上書きすることを選択できます。新しい宛先ノードの追加の詳細については、「[宛先ノードの追加](canvas-destination-nodes-add.md)」を参照してください。

次の手順に従って、データフローの宛先ノードを編集し、エクスポートジョブを開始します。

**宛先ノードを編集するには**

1. データフローに移動します。

1. 編集する宛先ノードの横にある省略記号アイコンを選択します。

1. コンテキストメニューから **[編集]** を選択します。

1. **[送信先を編集]** サイドパネルが開きます。このパネルでは、データセット名、Amazon S3 の場所、エクスポートとパーティショニングの設定などの詳細を編集できます。

1. (オプション) **[エクスポートする追加のノード]** では、エクスポートジョブの実行時に処理する宛先ノードをさらに選択できます。

1. Canvas でデータフロー変換をデータセット全体に適用し、結果をエクスポートする場合は、**[データセット全体を処理]** オプションを選択したままにします。このオプションの選択を解除すると、Canvas はインタラクティブ Data Wrangler データフローで使用されるデータセットのサンプルにのみ変換を適用します。

1. Canvas アプリケーションメモリまたは EMR Serverless ジョブを使用してジョブを実行するかどうかを Canvas に自動的に判断させる場合は、**[自動ジョブ設定]** オプションを選択したままにします。このオプションの選択を解除し、ジョブを手動で設定する場合は、EMR Serverless ジョブまたは SageMaker 処理ジョブのどちらを使用するかを選択できます。EMR Serverless または SageMaker 処理ジョブを設定する方法については、前のセクション「[Amazon S3 へのエクスポート](canvas-export-data.md#canvas-export-data-s3)」を参照してください。

1. 変更が完了したら、**[更新]** を選択します。

宛先ノード設定に変更を保存しても、ジョブが自動的に再実行されたり、処理およびエクスポート済みのデータが上書きされたりすることはありません。データを再びエクスポートして、新しい設定でジョブを実行してください。ジョブを使用してデータを再度エクスポートする場合、Canvas では更新された宛先ノード設定を使用してデータを変換して指定の場所に出力し、既存のデータを上書きします。

# 新しいデータを自動的に処理するスケジュールを作成する
<a name="canvas-data-export-schedule-job"></a>

**注記**  
次のセクションは、SageMaker 処理ジョブにのみ適用されます。デフォルトの Canvas 設定または EMR Serverless を使用して、データセット全体に変換を適用するリモートジョブを作成した場合、このセクションは適用されません。

データを定期的に処理する場合は、処理ジョブを自動的に実行するスケジュールを作成できます。例えば、新しいデータを取得したときに処理ジョブを自動的に実行するスケジュールを作成できます。処理ジョブの詳細については、「[Amazon S3 へのエクスポート](canvas-export-data.md#canvas-export-data-s3)」を参照してください。

ジョブを作成する場合、ジョブを作成する権限を持つ IAM ロールを指定する必要があります。[AmazonSageMakerCanvasDataPrepFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html) ポリシーを使用して権限を追加できます。

ロールに次の信頼ポリシーを追加して、EventBridge がそれを引き継げるようにします。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
}
```

**重要**  
スケジュールを作成すると、Data Wrangler は EventBridge に `eventRule` を作成します。作成したイベントルールと、処理ジョブの実行に使用したインスタンスの両方に料金が発生します。  
EventBridge の料金の詳細については、「[Amazon EventBridge の料金](https://aws.amazon.com/eventbridge/pricing/)」を参照してください。処理ジョブの料金の詳細については、「[Amazon SageMaker の料金](https://aws.amazon.com/sagemaker/pricing/)」を参照してください。

次のいずれかの方法を使用して、ジョブのスケジュールを設定できます。
+ [CRON 式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)
**注記**  
Data Wrangler は次の式をサポートしていません。  
LW\$1
曜日の略語
月の略語
+ [RATE 式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-rate-expressions)
+ 繰り返し – ジョブを実行する間隔を 1 時間ごとまたは 1 日ごとに設定します。
+ 特定の時間 – ジョブを実行する特定の曜日と時間を設定します。

以降のセクションでは、[データを Amazon S3 にエクスポート](canvas-export-data.md#canvas-export-data-s3)するために SageMaker AI 処理ジョブ設定を入力する際に、ジョブをスケジュールする手順について説明します。以下の手順はすべて、SageMaker 処理ジョブ設定の **[スケジュールの関連付け]** セクションで開始されます。

------
#### [ CRON ]

CRON 式を使用してスケジュールを作成するには、次の手順を使用します。

1. **[Amazon S3 にエクスポート]** サイドパネルで、**[自動ジョブ設定]** トグルがオフになっており、**[SageMaker 処理]** オプションが選択されていることを確認します。

1. **[SageMaker 処理]** ジョブ設定で、**[スケジュールの関連付け]** セクションを開き、**[新しいスケジュールを作成]** を選択します。

1. **[新しいスケジュールを作成]** ダイアログボックスが開きます。**[スケジュール名]** にスケジュールの名前を指定します。

1. **[実行頻度]** で **[CRON]** を選択します。

1. **[分]**、**[時間]**、**[日]**、**[月]**、**[曜日]** の各フィールドに、有効な CRON 式値を入力します。

1. **[作成]** を選択します。

1. (オプション) 追加のスケジュールでジョブを実行するには、**[別のスケジュールを追加]** を選択します。
**注記**  
最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

1. 次のいずれかを選択します。
   + **スケジュールして今すぐ実行** – ジョブはただちに実行され、その後はスケジュールに従って実行されます。
   + **スケジュールのみ** – ジョブは指定したスケジュールでのみ実行されます。

1. 残りのエクスポートジョブ設定を入力したら、**[エクスポート]** を選択します。

------
#### [ RATE ]

RATEN 式を使用してスケジュールを作成するには、次の手順を使用します。

1. **[Amazon S3 にエクスポート]** サイドパネルで、**[自動ジョブ設定]** トグルがオフになっており、**[SageMaker 処理]** オプションが選択されていることを確認します。

1. **[SageMaker 処理]** ジョブ設定で、**[スケジュールの関連付け]** セクションを開き、**[新しいスケジュールを作成]** を選択します。

1. **[新しいスケジュールを作成]** ダイアログボックスが開きます。**[スケジュール名]** にスケジュールの名前を指定します。

1. **[実行頻度]** で **[Rate]** を選択します。

1. **[値]** には整数値を指定します。

1. **[単位]** で、次のいずれかを選択します。
   + **分**
   + **時間**
   + **日間**

1. **[作成]** を選択します。

1. (オプション) 追加のスケジュールでジョブを実行するには、**[別のスケジュールを追加]** を選択します。
**注記**  
最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

1. 次のいずれかを選択します。
   + **スケジュールして今すぐ実行** – ジョブはただちに実行され、その後はスケジュールに従って実行されます。
   + **スケジュールのみ** – ジョブは指定したスケジュールでのみ実行されます。

1. 残りのエクスポートジョブ設定を入力したら、**[エクスポート]** を選択します。

------
#### [ Recurring ]

以下の手順に従って、ジョブを定期的に実行するスケジュールを作成します。

1. **[Amazon S3 にエクスポート]** サイドパネルで、**[自動ジョブ設定]** トグルがオフになっており、**[SageMaker 処理]** オプションが選択されていることを確認します。

1. **[SageMaker 処理]** ジョブ設定で、**[スケジュールの関連付け]** セクションを開き、**[新しいスケジュールを作成]** を選択します。

1. **[新しいスケジュールを作成]** ダイアログボックスが開きます。**[スケジュール名]** にスケジュールの名前を指定します。

1. **[実行頻度]** では、**[繰り返し]** を選択します。

1. **[x 時間ごと]** には、1 日にジョブを実行する時間単位の頻度を指定します。有効な値は、**1** から **23** までの範囲内の整数です。

1. **[日間]** で、次のいずれかのオプションを選択します。
   + **毎日**
   + **週末**
   + **平日**
   + **曜日を選択**

   1. (オプション) **[曜日を選択]** を選択した場合は、ジョブを実行する曜日を選択します。
**注記**  
スケジュールは毎日リセットされます。5 時間ごとに実行するようにジョブをスケジュールすると、ジョブは 1 日のうち次の時間に実行されます。  
00:00
05:00
10:00
15:00
20:00

1. **[作成]** を選択します。

1. (オプション) 追加のスケジュールでジョブを実行するには、**[別のスケジュールを追加]** を選択します。
**注記**  
最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

1. 次のいずれかを選択します。
   + **スケジュールして今すぐ実行** – ジョブはただちに実行され、その後はスケジュールに従って実行されます。
   + **スケジュールのみ** – ジョブは指定したスケジュールでのみ実行されます。

1. 残りのエクスポートジョブ設定を入力したら、**[エクスポート]** を選択します。

------
#### [ Specific time ]

次の手順を使用して、ジョブを特定の時間に実行するスケジュールを作成します。

1. **[Amazon S3 にエクスポート]** サイドパネルで、**[自動ジョブ設定]** トグルがオフになっており、**[SageMaker 処理]** オプションが選択されていることを確認します。

1. **[SageMaker 処理]** ジョブ設定で、**[スケジュールの関連付け]** セクションを開き、**[新しいスケジュールを作成]** を選択します。

1. **[新しいスケジュールを作成]** ダイアログボックスが開きます。**[スケジュール名]** にスケジュールの名前を指定します。

1. **[実行頻度]** で、**[開始時刻]** を選択します。

1. **[開始時刻]** には、時刻を UTC 形式で入力します (例：**09:00**)。開始時刻は、デフォルトではユーザーのタイムゾーンになります。

1. **[日間]** で、次のいずれかのオプションを選択します。
   + **毎日**
   + **週末**
   + **平日**
   + **曜日を選択**

   1. (オプション) **[曜日を選択]** を選択した場合は、ジョブを実行する曜日を選択します。

1. **[作成]** を選択します。

1. (オプション) 追加のスケジュールでジョブを実行するには、**[別のスケジュールを追加]** を選択します。
**注記**  
最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

1. 次のいずれかを選択します。
   + **スケジュールして今すぐ実行** – ジョブはただちに実行され、その後はスケジュールに従って実行されます。
   + **スケジュールのみ** – ジョブは指定したスケジュールでのみ実行されます。

1. 残りのエクスポートジョブ設定を入力したら、**[エクスポート]** を選択します。

------

SageMaker AI を使用して、実行がスケジュールされているジョブ AWS マネジメントコンソール を表示できます。処理ジョブは Pipelines 内で実行されます。処理ジョブにはそれぞれ独自のパイプラインがあります。これはパイプライン内の処理ステップとして実行されます。パイプライン内で作成したスケジュールを表示できます。パイプラインの表示の詳細については、「[パイプラインの詳細を表示する](pipelines-studio-list.md)」を参照してください。

スケジュールしたジョブを表示するには、次の手順を使用します。

スケジュールしたジョブを表示するには、以下を実行します。

1. Amazon SageMaker Studio Classic を開きます。

1. Pipelines を開きます。

1. 作成したジョブのパイプラインを表示します。

   ジョブを実行するパイプラインは、ジョブ名をプレフィックスとして使用します。例えば、`housing-data-feature-enginnering` という名前のジョブを作成した場合、パイプラインの名前は `canvas-data-prep-housing-data-feature-engineering` です。

1. ジョブを含むパイプラインを選択します。

1. パイプラインのステータスを表示します。**[ステータス]** が **[成功]** のパイプラインは、処理ジョブを正常に実行しています。

処理ジョブの実行を停止するには、以下を実行します。

処理ジョブの実行を停止するには、スケジュールを指定するイベントルールを削除します。イベントルールを削除すると、そのスケジュールに関連するすべてのジョブの実行が停止します。ルールの削除については、「[Amazon EventBridge ルールの無効化または削除](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html)」を参照してください。

スケジュールに関連付けられているパイプラインを停止したり削除したりすることもできます。パイプラインを停止する方法については、「[StopPipelineExecution](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html)」を参照してください。パイプラインの削除については、「DeletePipeline」を参照してください。

# 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. **[データフローをエクスポート]** を選択します。

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. **[データフローをエクスポート]** を選択します。

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. **[データフローをエクスポート]** を選択します。

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

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

1. Jupyter Notebook を実行します。

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

# SageMaker Canvas の生成 AI 基盤モデル
<a name="canvas-fm-chat"></a>

Amazon SageMaker Canvas には、会話形式のチャットを開始するために使用できる生成系 AI 基盤モデルが用意されています。これらのコンテンツ生成モデルは大量のテキストデータに基づいてトレーニングされ、単語間の統計的パターンや関係を学習します。また、トレーニングに使用したテキストと統計的に類似した一貫性のあるテキストを生成できます。この機能を使用して以下を実行し、生産性を向上させることができます。
+ ドキュメントの概要、レポート、ブログなどのコンテンツを生成する
+ 決算説明会の記録、年次報告書、ユーザーマニュアルの章など、大量のテキストからテキストを要約する
+ 会議の議事録や会話など、大量のテキストからインサイトや重要なポイントを抽出する
+ テキストを改善し、文法上の誤りやタイプミスを発見する

基盤モデルは、Amazon SageMaker JumpStart と [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) の大規模言語モデル (LLM) を組み合わせたものです。Canvas には次のモデルがあります。


| モデル | 型 | 説明 | 
| --- | --- | --- | 
|  Amazon Titan  | Amazon Bedrock モデル |  Amazon Titan は強力な汎用言語モデルで、要約、テキスト生成 (ブログ投稿の作成など)、分類、自由形式の Q&A、情報抽出などのタスクに使用できます。大規模なデータセットで事前にトレーニングされているため、複雑なタスクや推論に適しています。AI の責任ある使用に関するベストプラクティスの継続的なサポートのため、Amazon Titan の基盤モデルはデータ内の有害なコンテンツを検出して削除し、ユーザー入力に含まれる不適切なコンテンツを拒否し、不適切なコンテンツ (ヘイトスピーチ、冒涜、暴力的コンテンツなど) を含むモデル出力をフィルタリングするように構築されています。  | 
|  Anthropic Claude Instant  | Amazon Bedrock モデル |  Anthropic の Claude Instant は、より高速で費用対効果が高く、しかも非常に高性能なモデルです。このモデルは、カジュアルな会話、テキスト分析、要約、文書の質問への回答など、さまざまなタスクを処理できます。Claude-2 と同様に、Claude Instant は各プロンプトで最大 100,000 トークンをサポートできます。これは、約 200 ページの情報に相当します。  | 
|  Anthropic Claude-2  | Amazon Bedrock モデル |  Claude-2 は Anthropic の最も強力なモデルで、洗練された会話やクリエイティブなコンテンツの生成から詳細な指示のフォローまで、幅広いタスクに長けています。Claude-2 は各プロンプトで最大 100,000 トークンをサポートできます。これは、約 200 ページの情報に相当します。前のバージョンと比べて、より長い応答を生成できます。質問への回答、情報の抽出、PII の削除、コンテンツ生成、多肢選択式分類、ロールプレイ、テキストの比較、要約、引用付きの文書 Q&A などのユースケースをサポートします。  | 
|  Falcon-7B-Instruct  | JumpStart モデル |  Falcon-7B-Instruct には 70 億のパラメータがあり、チャットと指示のデータセットを組み合わせて微調整されています。これはバーチャルアシスタントとして最適で、指示に従ったり会話をしたりするときに最高のパフォーマンスを発揮します。このモデルは大量の英語ウェブデータでトレーニングされているため、ウェブ上でよく見られる固定観念や偏見があり、英語以外の言語には適していません。Falcon-40B-Instruct と比較すると、Falcon-7B-Instruct は、規模が若干小さくコンパクトなモデルです。  | 
|  Falcon-40B-Instruct  | JumpStart モデル |  Falcon-40B-Instruct には 400 億のパラメータがあり、チャットと指示のデータセットを組み合わせて微調整されています。これはバーチャルアシスタントとして最適で、指示に従ったり会話をしたりするときに最高のパフォーマンスを発揮します。このモデルは大量の英語ウェブデータでトレーニングされているため、ウェブ上でよく見られる固定観念や偏見があり、英語以外の言語には適していません。Falcon-7B-Instruct と比較すると、Falcon-40B-Instruct は、規模が若干大きくより強力なモデルです。  | 
|  Jurassic-2 Mid  | Amazon Bedrock モデル |  Jurassic-2 Mid は、(現時点では 2022 年半ばまでの) 大量のテキストコーパスでトレーニングされた高性能なテキスト生成モデルです。このモデルは柔軟性と汎用性が高く、人間のようなテキストを作成したり、質問への回答やテキストの分類などの複雑なタスクを実行したりすることができます。このモデルはゼロショット指示機能を備えているため、例を使わずに自然言語のみで指示できます。以前の Jurassic-1 モデルと比較して、最大 30% 高速に動作します。 Jurassic-2 Mid は AI21 の中型モデルで、優れた品質と手頃な価格のバランスを取るように注意深く設計されています。  | 
|  Jurassic-2 Ultra  | Amazon Bedrock モデル |  Jurassic-2 Ultra は、(現時点では 2022 年半ばまでの) 大量のテキストコーパスでトレーニングされた高性能なテキスト生成モデルです。このモデルは柔軟性と汎用性が高く、人間のようなテキストを作成したり、質問への回答やテキストの分類などの複雑なタスクを実行したりすることができます。このモデルはゼロショット指示機能を備えているため、例を使わずに自然言語のみで指示できます。以前の Jurassic-1 モデルと比較して、最大 30% 高速に動作します。 Jurassic-2 Mid と比べると、Jurassic-2 Ultra は若干規模が大きく、よりパワフルなモデルです。  | 
|  Llama-2-7b-Chat  | JumpStart モデル |  Llama-2-7b-Chat は Meta の基盤モデルであり、意義のある一貫した会話、新しいコンテンツの生成、既存のメモからの回答の抽出に適しています。このモデルは大量の英語インターネットデータでトレーニングされているため、ウェブ上でよく見られる偏見や制限があり、英語での言語にのみ適しています。  | 
|  Llama-2-13B-Chat  | Amazon Bedrock モデル |  Meta の Llama-2-13B-Chat は、インターネットデータでの初期トレーニング後に会話データでファインチューニングされています。自然なダイアログとエンゲージメント性の高いチャット機能用に最適化されており、会話エージェントとして最適です。より小規模の Llama-2-7b-Chat と比較して、Llama-2-13B-Chatにはほぼ 2 倍のパラメータがあり、より多くのコンテキストを記憶して、より微妙な会話のレスポンスを生成できます。Llama-2-7b-Chat と同様に、Llama-2-13B-Chat は英語データでトレーニングされており、英語でのタスクに最適です。  | 
|  Llama-2-70B-Chat  | Amazon Bedrock モデル |  Llama-2-7b-Chat や Llama-2-13B-Chat と同様に、Meta の Llama-2-70B-Chat モデルは、自然で意義のある対話に対して最適化されています。700 億のパラメータを持つこの大規模な会話モデルは、よりコンパクトなモデルバージョンと比較して、より広範なコンテキストを記憶し、一貫性の高いレスポンスを生成できます。ただし、これにはレスポンスが遅くなり、リソース要件が高くなるというデメリットがあります。Llama-2-70B-Chat は、大量の英語のインターネットデータでトレーニングされており、英語でのタスクに最適です。  | 
|  Mistral-7B  | JumpStart モデル |  Mistral.AI の Mistral-7B は、テキスト生成、要約、質問への回答など、広範囲の自然言語 (NLP) タスクに適した、優れた汎用言語モデルです。推論速度を高める GQA (Grouped-Query Attention) を利用することで、2 倍または 3 倍の数のパラメータを使用するモデルと同等のパフォーマンスを発揮します。英語の書籍、ウェブサイト、科学論文などの混合テキストデータでトレーニングされているため、英語のタスクに最適です。  | 
|  Mistral-7B-Chat  | JumpStart モデル |  Mistral-7B-Chat は、Mistral-7B に基づく Mistral.AI の会話モデルです。Mistral-7B は一般的な NLP タスクに最適ですが、Mistral-7B-Chat の会話データはさらにファインチューニングされており、自然でエンゲージメント性の高いチャット向けに機能が最適化されています。その結果、Mistral-7B-Chat は人間のようなレスポンスを生成し、以前のレスポンスのコンテキストを記憶します。Mistral-7B と同様に、このモデルは英語のタスクに最適です。  | 
|  MPT-7B-Instruct  | JumpStart モデル |  MPT-7B-Instruct は、長文形式の指示タスクを記述するためのモデルで、テキストの要約や質問への回答などのライティングタスクを支援し、時間と労力を節約できます。このモデルは大量の微調整されたデータに基づいてトレーニングされており、複雑な文書などの大量の入力を処理できます。このモデルは、大量のテキストを処理する場合や、モデルで長い応答を生成する場合に使用します。  | 

Amazon Bedrock の基盤モデルは、現在、米国東部 (バージニア北部) リージョンと米国西部 (オレゴン) リージョンでのみご利用いただけます。また、Amazon Bedrock の基盤モデルを使用する場合、各モデルプロバイダーが指定した入力トークンと出力トークンの量に基づいて課金されます。詳細については、「[Amazon Bedrock の料金ページ](https://aws.amazon.com/bedrock/pricing/)」を参照してください。JumpStart 基盤モデルが SageMaker AI ホスティングインスタンスにデプロイされ、使用したインスタンスタイプに基づいて使用期間に対して課金されます。さまざまなインスタンスタイプのコストの詳細については、「[SageMaker の料金ページ](https://aws.amazon.com/sagemaker/pricing/)」の「Amazon SageMaker AI ホスティング: リアルタイム推論」セクションを参照してください。

ドキュメントクエリは、Amazon Kendra を使用して、インデックスに保存されているドキュメントのクエリやインサイトの取得に使用できる追加機能です。この機能を使用すると、基盤モデルのトレーニングに使用された大量のデータにおいて一般的なレスポンスとは対照的に、これらのドキュメントのコンテキストからコンテンツを生成し、ビジネスユースケースに固有のレスポンスを受け取ることができます。Amazon Kendra のインデックスの詳細については、[Amazon Kendra デベロッパーガイド](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)を参照してください。

データやユースケースに合わせてカスタマイズされた基盤モデルからレスポンスを取得する場合は、基盤モデルをファインチューニングできます。詳細については[基盤モデルをファインチューニングする](canvas-fm-chat-fine-tune.md)を参照してください。

アプリケーションまたはウェブサイトを介して Amazon SageMaker JumpStart 基盤モデルから予測を取得する場合は、モデルを SageMaker AI *エンドポイント* にデプロイできます。モデルは SageMaker AI エンドポイントによってホストされます。エンドポイントにはアプリケーションコードを介してリクエストを送信し、モデルから予測を受け取ることができます。詳細については、「[モデルをエンドポイントにデプロイする](canvas-deploy-model.md)」を参照してください。

# SageMaker Canvas の基盤モデルの前提条件を満たす
<a name="canvas-fm-chat-prereqs"></a>

以下のセクションでは、基盤モデルを操作し、Canvas でドキュメントクエリ機能を使用するための前提条件について概説します。このページの残りのコンテンツでは、基盤モデルの前提条件を満たしていることが前提となっています。ドキュメントクエリ機能には、追加の権限が必要です。

## 基盤モデルの前提条件
<a name="canvas-fm-chat-prereqs-fm"></a>

モデルとのやり取りに必要な権限は、Canvas の Ready-to-use モデルの権限に含まれています。Canvas で生成 AI 搭載モデルを使用するには、Amazon SageMaker AI ドメインをセットアップする際に、**[Canvas の Ready-to-use モデルの設定]** アクセス許可を有効にする必要があります。詳細については、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」を参照してください。**Canvas の Ready-to-use モデルの設定**は、[AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) ポリシーを Canvas ユーザーの AWS Identity and Access Management (IAM) 実行ロールにアタッチします。権限の付与に関して問題が発生した場合は、「[SageMaker AI コンソールを介したアクセス許可の付与に関する問題のトラブルシューティング](canvas-limits.md#canvas-troubleshoot-trusted-services)」のトピックを参照してください。

ドメインを既に設定している場合は、ドメインの設定を編集して権限を有効にできます。ドメインの設定を編集する手順については、「[ドメイン設定を編集する](domain-edit.md)」を参照してください。ドメインの設定を編集する場合は、**[Canvas の設定]** に移動して、**[Canvas の Ready-to-use モデルを有効にする]** オプションを有効にしてください。

一部の JumpStart 基盤モデルでは、SageMaker AI インスタンスクォータの引き上げをリクエストする必要もあります。Canvas は、現在やり取りしているモデルをこれらのインスタンスでホストしていますが、アカウントのデフォルトクォータでは不十分な場合があります。以下のモデルの実行中にエラーが発生した場合は、関連するインスタンスタイプのクォータの増量をリクエストしてください。
+ Falcon-40B – `ml.g5.12xlarge`、`ml.g5.24xlarge`
+ Falcon-13B – `ml.g5.2xlarge`、`ml.g5.4xlarge`、`ml.g5.8xlarge`
+ MPT-7B-Instruct – `ml.g5.2xlarge`、`ml.g5.4xlarge`、`ml.g5.8xlarge`

上記のインスタンスタイプでは、エンドポイントの使用量クォータを 0 から 1 に引き上げることをリクエストしてください。クォータの詳細については、「Service Quotas ユーザーガイド」の「[クォータの増加をリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。**

## ドキュメントクエリの前提条件
<a name="canvas-fm-chat-prereqs-kendra"></a>

**注記**  
ドキュメントクエリは、 AWS リージョン米国東部 (バージニア北部）、米国東部 (オハイオ）、米国西部 (オレゴン）、欧州 (アイルランド）、アジアパシフィック (シンガポール）、アジアパシフィック (シドニー）、アジアパシフィック (東京）、アジアパシフィック (ムンバイ) でサポートされています。

ドキュメントクエリ機能では、ドキュメントとドキュメントメタデータを保存する Amazon Kendra インデックスが既に用意されている必要があります。Amazon Kendra の詳細については、[Amazon Kendra デベロッパーガイド](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)を参照してください。インデックスをクエリするためのクォータの詳細については、*Amazon Kendra デベロッパーガイド*の「[Quotas](https://docs.aws.amazon.com/kendra/latest/dg/quotas.html)」を参照してください。

また、ドキュメントクエリに必要な権限が Canvas ユーザープロファイルにあることを確認する必要もあります。[AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーは、Canvas アプリケーションをホストする SageMaker AI ドメインの AWS IAM 実行ロールにアタッチされている必要があります (このポリシーは、デフォルトですべての新規および既存の Canvas ユーザープロファイルにアタッチされています)。また、ドキュメントクエリ権限を明示的に付与し、1 つ以上の Amazon Kendra インデックスへのアクセスを指定する必要があります。

Canvas 管理者が新しいドメインまたはユーザープロファイルを設定している場合は、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」の手順に従ってドメインを設定してください。ドメインの設定中に、**[Canvas の Ready-to-use モデルの設定]** を通じてドキュメントクエリ権限を有効にすることができます。

Canvas 管理者はドキュメントクエリ権限をユーザープロファイルレベルでも管理できます。例えば、管理者が一部のユーザープロファイルにはドキュメントクエリ権限を付与し、他のユーザープロファイルからは権限を削除する場合は、特定のユーザーの権限を編集できます。

特定のユーザープロファイルのドキュメントクエリ権限を有効にするには、次の手順に従います。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. ドメインのリストで、ユーザープロファイルのドメインを選択します。

1. **[ドメインの詳細]** ページで、権限を編集する **[ユーザープロファイル]** を選択します。

1. **[ユーザーの詳細]** ページで、**[編集]** を選択します。

1. 左側のナビゲーションペインで、**[Canvas の設定]** を選択します。

1. **[Canvas の Ready-to-use モデルの設定]** セクションで、**[Amazon Kendra を利用してドキュメントクエリを有効にする]** をオンにします。

1. ドロップダウンで、アクセスを許可する 1 つ以上の Amazon Kendra インデックスを選択します。

1. **[送信]** を選択して、ドメインの設定の変更を保存します。

現在は、Canvas 基盤モデルを使用して、指定された Amazon Kendra インデックス内のドキュメントをクエリできます。

# 新しい会話を開始して、コンテンツの生成、抽出、要約を行う
<a name="canvas-fm-chat-new"></a>

Canvas で生成 AI 基盤モデルの使用を開始するには、モデルの 1 つと新しいチャットセッションを開始します。JumpStart モデルの場合、モデルがアクティブな間は課金されるため、使用する際にモデルを起動し、やり取りが終了したらモデルをシャットダウンする必要があります。JumpStart モデルをシャットダウンしなかった場合、非アクティブ状態が 2 時間続くと Canvas によってモデルがシャットダウンされます。Amazon Bedrock モデル (Amazon Titan など) では、プロンプトごとに課金されます。モデルは既にアクティブであるため、起動またはシャットダウンする必要はありません。これらのモデルの使用に対しては Amazon Bedrock から直接課金されます。

モデルとのチャットを開始するには、次の手順に従います

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[コンテンツの生成、抽出、要約]** を選択します。

1. ウェルカムページで、デフォルトモデルの起動を勧めるメッセージが表示されます。ユーザーは、推奨モデルを起動することも、ドロップダウンから **[別のモデルを選択]** を選択して別のモデルを選択することもできます。

1. JumpStart 基盤モデルを選択した場合は、使用する前にモデルを起動する必要があります。**[モデルを起動]** をクリックすると、モデルが SageMaker AI インスタンスにデプロイされます。この処理は、完了まで数分かかる場合があります。モデルの準備ができたら、プロンプトを入力してモデルに質問できます。

   Amazon Bedrock で基盤モデルを選択した場合は、プロンプトを入力して質問するだけで、すぐに使用を開始できます。

モデルによって、さまざまなタスクを実行できます。例えば、テキストの一節を入力して、モデルに要約させることができます。あるいは、モデルに自分のドメインの市場動向の簡単な要約を作成させることもできます。

チャットでのモデルの応答は、前のプロンプトのコンテキストに基づいています。前の会話トピックとは関係のない新しい質問をチャットで聞きたい場合は、モデルと新たにチャットを開始することをおすすめします。

# ドキュメントクエリを使用してドキュメントから情報を抽出する
<a name="canvas-fm-chat-query"></a>

**注記**  
このセクションでは、上記の「[ドキュメントクエリの前提条件](canvas-fm-chat-prereqs.md#canvas-fm-chat-prereqs-kendra)」のセクションを完了したことを前提としています。

ドキュメントクエリは、Canvas で基盤モデルを操作するときに使用できる機能です。ドキュメントクエリを使用すると、Amazon Kendra *インデックス*に保存されているドキュメントのコーパスにアクセスできます。このインデックスは、ドキュメントの内容を保持し、ドキュメントを検索可能にするように構成されています。Amazon Kendra インデックス内のデータを対象とする特定の質問をすると、基盤モデルによって質問に対する回答が返されます。例えば、IT 情報の内部ナレッジベースをクエリし、「会社のネットワークにはどのように接続したらいいですか?」などの質問をすることができます。インデックスの設定の詳細については、[Amazon Kendra デベロッパーガイド](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)を参照してください。

ドキュメントクエリ機能を使用する場合、基盤モデルでは、検索拡張生成 (RAG) と呼ばれる手法を使用して、インデックス内のドキュメントの内容にレスポンスを制限します。この手法は、インデックスから最も関連性の高い情報をユーザーのプロンプトと共にバンドルし、それを基盤モデルに送信してレスポンスを取得します。レスポンスはインデックス内に存在するものに限定され、モデルが外部データに基づいて間違ったレスポンスを提供することがなくなります。このプロセスの詳細については、ブログ記事「[Quickly build high-accuracy Generative AI applications on enterprise data](https://aws.amazon.com/blogs/machine-learning/quickly-build-high-accuracy-generative-ai-applications-on-enterprise-data-using-amazon-kendra-langchain-and-large-language-models/)」を参照してください。

開始するには、Canvas の基盤モデルとのチャットで、ページ上部の **[ドキュメントクエリ]** トグルをオンにします。ドロップダウンから、クエリする Amazon Kendra インデックスを選択します。次に、インデックス内のドキュメントに関連する質問を開始します。

**重要**  
ドキュメントクエリは[モデル出力を比較する](canvas-fm-chat-compare.md)機能をサポートしています。モデル出力を比較するための新しいチャットを開始すると、既存のチャット履歴が上書きされます。

# モデルを起動する
<a name="canvas-fm-chat-manage"></a>

**注記**  
次のセクションでは、Falcon-40B-Instruct などの JumpStart 基盤モデルにのみ適用されるモデルの起動について説明します。Amazon Titan などの Amazon Bedrock モデルには、いつでも簡単にアクセスできます。

JumpStart モデルは必要な数だけ起動できます。アクティブな JumpStart モデルごとにアカウントに料金が発生するため、現在必要以上のモデルを起動しないことをお勧めします。

別のモデルを起動するには、次の手順に従います。

1. **[コンテンツの生成、抽出、要約]** ページで、**[新しいチャット]** を選択します。

1. ドロップダウンメニューでモデルを選択します。ドロップダウンに表示されていないモデルを選択する場合は、**[別のモデルを起動]** を選択し、起動するモデルを選択します。

1. **[モデルを起動]** を選択します。

モデルが起動し始め、数分以内にモデルとチャットできるようになります。

# モデルをシャットダウンする
<a name="canvas-fm-chat-shut-down"></a>

使用していないモデルはシャットダウンすることを強くお勧めします。非アクティブ状態が 2 時間続くと、モデルは自動的にシャットダウンします。モデルを手動でシャットダウンするには、次の手順に従います。

1. **[コンテンツの生成、抽出、要約]** ページで、シャットダウンするモデルのチャットを開きます。

1. チャットページで、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. **[モデルをシャットダウン]** を選択します。

1. **[モデルをシャットダウン]** 確認ボックスで、**[シャットダウン]** を選択します。

モデルがシャットダウンし始めます。チャットで 2 つ以上のモデルを比較する場合、チャットページからモデルの **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[モデルをシャットダウン]** を選択すると、モデルを個別にシャットダウンできます。

# モデル出力を比較する
<a name="canvas-fm-chat-compare"></a>

異なるモデルの出力を並べて比較して、どのモデル出力が好ましいかを確認する場合があります。これにより、どのモデルがユースケースに最も適しているかを判断できます。チャットでは最大 3 つのモデルを比較できます。

**注記**  
個々のモデルごとに、アカウントに料金が発生します。

比較するモデルを追加するには、新しいチャットを開始する必要があります。チャットでモデルの出力を並べて比較するには、次の手順に従います。

1. チャットで、**[新しいチャット]** を選択します。

1. **[比較]** を選択し、ドロップダウンメニューを使用して追加するモデルを選択します。3 つ目のモデルを追加するには、もう一度 **[比較]** を選択して別のモデルを追加します。
**注記**  
現在アクティブでない JumpStart モデルを使用する場合は、モデルを起動するように求められます。

モデルがアクティブになると、チャットに 2 つのモデルが並んで表示されます。プロンプトを送信すると、次のスクリーンショットに示すように、各モデルが同じチャットで応答します。

![\[2 つのモデルの出力を並べて表示した Canvas インターフェイスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-chat-compare-outputs.png)


やり取りが終わったら、追加料金が発生しないように、JumpStart モデルをすべて個別にシャットダウンしてください。

# 基盤モデルをファインチューニングする
<a name="canvas-fm-chat-fine-tune"></a>

Amazon SageMaker Canvas からアクセスできる基盤モデルは、さまざまな汎用タスクに役立ちます。ただし、特定のユースケースがあり、独自のデータに基づいてレスポンスをカスタマイズする場合は、基盤モデルを*ファインチューニング*できます。

基盤モデルをファインチューニングするには、サンプルプロンプトとモデルレスポンスで構成されるデータセットを指定します。次に、データに対して基盤モデルをトレーニングします。最後に、ファインチューニングされた基盤モデルは、より具体的なレスポンスを提供できるようになります。

次のリストには、Canvas でファインチューニングできる基盤モデルが含まれています。
+ Titan Express
+ Falcon-7B
+ Falcon-7B-Instruct
+ Falcon-40B-Instruct
+ Falcon-40B
+ Flan-T5-Large
+ Flan-T5-Xl
+ Flan-T5-Xxl
+ MPT-7B
+ MPT-7B-Instruct

モデルをファインチューニングしながら、Canvas アプリケーションの各基盤モデルに関するより詳細な情報にアクセスできます。詳細については、「[モデルをファインチューニングする](#canvas-fm-chat-fine-tune-procedure-model)」を参照してください。

このトピックでは、Canvas で基盤モデルをファインチューニングする方法について説明します。

## [開始する前に]
<a name="canvas-fm-chat-fine-tune-prereqs"></a>

基盤モデルをファインチューニングする前に、Canvas で Ready-to-use モデルのアクセス許可と Amazon Bedrock との信頼関係を持つ AWS Identity and Access Management 実行ロールがあることを確認してください。これにより、Amazon Bedrock は基盤モデルをファインチューニングしながらロールを引き受けることができます。

Amazon SageMaker AI ドメインを設定または編集する際は、1) Canvas Ready-to-use モデルの設定アクセス許可を有効にし、2) SageMaker が Amazon Bedrock との信頼関係をアタッチする IAM 実行ロールである Amazon Bedrock ロールを作成または指定する必要があります。これらの設定の実行に関する詳細については、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」を参照してください。

(SageMaker AI がユーザーに代わってロールを作成するのではなく) 独自の IAM 実行ロールを使用する場合は、Amazon Bedrock ロールを手動で設定できます 。Amazon Bedrock との独自の IAM 実行ロールの信頼関係の設定の詳細については、「[Canvas で Amazon Bedrock と生成 AI 機能を使用する権限をユーザーに付与する](canvas-fine-tuning-permissions.md)」を参照してください。

また、大規模言語モデル (LLMs) をファインチューニングするためにフォーマットされたデータセットも必要です。以下は、データセットの要件のリストです。
+ データセットは表形式であり、テキストデータの少なくとも 2 つの列 (モデルへのプロンプト例を含む 1 つの入力列とモデルからのレスポンス例を含む 1 つの出力列) が含まれている必要があります。

  例を次に示します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/canvas-fm-chat-fine-tune.html)
+ データセットには少なくとも 100 個のテキストペア (対応する入力項目と出力項目の行) を含めることをお勧めします。これにより、ファインチューニングに十分なデータが基盤モデルに確実に含まれ、レスポンスの精度が向上します。
+ 各入力項目と出力項目には、最大 512 文字を含める必要があります。基盤モデルをファインチューニングした際に、それより長いものは 512 文字に短縮されます。

Amazon Bedrock モデルをファインチューニングするときは、Amazon Bedrock のクォータに従う必要があります。詳細については、*Amazon Bedrock ユーザーガイド*の「[Model customization quotas](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html#model-customization-quotas)」を参照してください。

Canvas の一般的なデータセットの要件と制限の詳細については、「[データセットの作成](canvas-import-dataset.md)」を参照してください。

## 基盤モデルの微調整
<a name="canvas-fm-chat-fine-tune-procedure"></a>

Canvas アプリケーションで次のいずれかの方法を使用して、基盤モデルをファインチューニングできます。
+ 基盤モデルとの **[コンテンツの生成、抽出、要約]** のチャット中に、**[モデルを微調整]** アイコン (![\[Magnifying glass icon with a plus sign, indicating a search or zoom-in function.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/wrench-icon-small.png)) を選択します。
+ 基盤モデルとのチャット中にレスポンスを 2 回以上再生成した場合は、Canvas によって **[モデルを微調整]** するオプションが表示されます。次のスクリーンショットは、この画面の外観を示しています。  
![\[チャットに表示されている [基盤モデルを微調整] オプションのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/fine-tuning-ingress.png)
+ **[自分のモデル]** ページで、**[新しいモデル]** を選択して新しいモデルを作成し、**[基盤モデルを微調整]** を選択します。
+ **Ready-to-use モデル**のホームページで、**[独自のモデルを作成]** を選択し、**[新しいモデルを作成する]** ダイアログボックスで、**[基盤モデルを微調整]** を選択します。
+ **[Data Wrangler]** タブでデータセットを参照している最中に、データセットを選択し、**[モデルを作成する]** を選択できます。次に、**[基盤モデルを微調整]** を選択します。

モデルのファインチューニングを開始したら、次の操作を行います。

### データセットを選択する
<a name="canvas-fm-chat-fine-tune-procedure-select"></a>

モデルのファインチューニングの **[選択]** タブで、基盤モデルをトレーニングするデータを選択します。

既存のデータセットを選択するか、「[[開始する前に]](#canvas-fm-chat-fine-tune-prereqs)」のセクションに記載されている要件を満たす新しいデータセットを作成します。データセットの作成方法の詳細については、「[データセットの作成](canvas-import-dataset.md)」を参照してください。

データセットを選択または作成し、先に進む準備ができたら、**[データセットを選択]** を選択します。

### モデルをファインチューニングする
<a name="canvas-fm-chat-fine-tune-procedure-model"></a>

データを選択すると、トレーニングを開始し、モデルをファインチューニングする準備が整います。

**[微調整]** タブで、次の作業を行います。

1. (オプション) **[基盤モデルの詳細情報]** を選択して、各モデルと、デプロイする基盤モデルの決定に役立つ詳細情報にアクセスします。

1. **[最大 3 つのベースモデルを選択する]** では、ドロップダウンメニューを開き、トレーニングジョブ中にファインチューニングする最大 3 つの基盤モデル (最大 2 つの JumpStart モデルと 1 つの Amazon Bedrock モデル) を選択します。複数の基盤モデルをファインチューニングすることで、パフォーマンスを比較し、ユースケースに最適なモデルを最終的にデフォルトのモデルとして選択できます。デフォルトのモデルの詳細については、「[モデルリーダーボードでモデル候補を表示する](canvas-evaluate-model-candidates.md)」を参照してください。

1. **[入力列を選択]** で、モデルプロンプト例を含むデータセット内のテキストデータの列を選択します。

1. **[出力列を選択]** で、モデルレスポンスの例を含むデータセット内のテキストデータの列を選択します。

1. (オプション) トレーニングジョブの詳細設定を行うには、**[モデルの設定]** を選択します。高度なモデル構築設定の詳細については、「[高度なモデル構築設定](canvas-advanced-settings.md)」を参照してください。

   **[モデルの設定]** ポップアップウィンドウで、以下の操作を行います。

   1. **[ハイパーパラメータ]** では、選択したモデルごとに ** [エポック数]**、**[バッチサイズ]**、**[学習率]**、**[学習率のウォームアップステップ]** を調整できます。これらのパラメータの詳細については、[JumpStart ドキュメントの「Hyperparameters」のセクション](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-fine-tune.html#jumpstart-hyperparameters)を参照してください。

   1. **[データ分割]** では、**[トレーニングセット]** と **[検証セット]** の間でデータを分割する方法の割合を指定できます。

   1. **[最大ジョブランタイム]** では、Canvas がビルドジョブを実行する最大時間を設定できます。この機能は JumpStart 基盤モデルでのみ使用できます。

   1. 設定を行ったら、 **[保存]** を選択します。

1. **[微調整]** を選択して、選択した基盤モデルのトレーニングを開始します。

ファインチューニングジョブが開始されたら、ページを離れることができます。**[自分のモデル]** ページでモデルが **[準備完了]** と表示されると、モデルの使用準備が整い、ファインチューニングされた基盤モデルのパフォーマンスを分析できるようになります。

### ファインチューニングされた基盤モデルを分析する
<a name="canvas-fm-chat-fine-tune-procedure-analyze"></a>

ファインチューニングされた基盤モデルの **[分析]** タブでは、モデルのパフォーマンスを確認できます。

このページの **[概要]** タブには、Perplexity および Loss スコアのほか、トレーニング中のモデルの経時的な改善を視覚化する分析が表示されます。次のスクリーンショットは、**[概要]** タブを示しています。

![\[Canvas でファインチューニングされた基盤モデルの [分析] タブ。Perplexity と Loss 曲線を示しています。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-fine-tune-analyze-2.png)


このページには、次の視覚化が表示されます。
+ **Perplexity 曲線**は、モデルがシーケンス内の次の単語をどの程度予測するか、またはモデルの出力がどの程度文法的であるかを測定します。トレーニング中にモデルが改善されるにつれて、スコアが下がり、時間の経過とともに低くなってフラット化する曲線となるのが理想です。
+ **Loss 曲線**は、正しい出力とモデルの予測出力の差を定量化します。時間の経過とともに減少してフラット化する Loss 曲線は、モデルが正確な予測を行う能力を向上させていることを示しています。

**[高度なトメトリクス]** タブには、モデルのハイパーパラメータと追加のメトリクスが表示されます。次のスクリーンショットのようになります。

![\[Canvas でファインチューニングされた基盤モデルの [高度なメトリクス] タブのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-fine-tune-metrics.png)


**[高度なメトリクス]** タブには次の情報が含まれています。
+ **[説明可能性]** セクションには、モデルのファインチューニングを誘導するためにジョブの前に設定された値である **[ハイパーパラメータ]** が含まれています。「[モデルをファインチューニングする](#canvas-fm-chat-fine-tune-procedure-model)」セクションのモデルの高度な設定でカスタムハイパーパラメータを指定しなかった場合は、Canvas によってデフォルトのハイパーパラメータが選択されます。

  JumpStart モデルでは、モデルによって生成された概要の品質を評価する高度なメトリクスである [ROUGE (Recall-Oriented Understudy for Gisting Evaluation)](https://en.wikipedia.org/wiki/ROUGE_(metric)) も表示できます。これは、モデルが文章の要点をどの程度うまく要約できるかを測定します。
+ **[アーティファクト]** セクションには、ファインチューニングジョブ中に生成されたアーティファクトへのリンクが表示されます。Amazon S3 に保存されているトレーニングおよび検証データ、およびモデル評価レポートへのリンクにアクセスできます (詳細については、次の段落を参照してください)。

モデル評価のインサイトをさらに取得するには、モデルとデータのバイアスを検出するのに役立つ機能である [SageMaker Clarify](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html) を使用して生成されるレポートをダウンロードします。まず、ページ下部の **[評価レポートの生成]** を選択してレポートを生成します。レポートが生成されたら、**[レポートのダウンロード]** を選択するか、**[アーティファクト]** セクションに戻ることで、レポート全体をダウンロードできます。

Python コードでファインチューニングジョブをレプリケートする方法を示す Jupyter Notebook にアクセスすることもできます。これを使用して、ファインチューニングジョブのレプリケートまたはプログラムによる変更を行うことも、Canvas がモデルをファインチューニングする方法をより深く理解することもできます。モデルノートブックとそのアクセス方法の詳細については、「[モデルノートブックをダウンロードする](canvas-notebook.md)」を参照してください。

ファインチューニングされた基盤モデルの **[分析]** タブで情報を解釈する方法の詳細については、「[モデル評価](canvas-evaluate-model.md)」のトピックを参照してください。

**[概要]** タブと **[高度なメトリクス]** タブを分析した後、**モデルリーダーボード**を開くこともできます。リーダーボードには、ビルド中にトレーニングされたベースモデルのリストが表示されます。Loss スコアが最も低いモデルは、最もパフォーマンスの高いモデルと見なされ、**[分析]** タブに表示される分析のモデルである **[デフォルトのモデル]** として選択されます。テストしてデプロイできるのはデフォルトのモデルのみです。モデルリーダーボードとデフォルトのモデルの変更方法の詳細については、「[モデルリーダーボードでモデル候補を表示する](canvas-evaluate-model-candidates.md)」を参照してください。

### チャットでファインチューニングされた基盤モデルをテストする
<a name="canvas-fm-chat-fine-tune-procedure-test"></a>

ファインチューニングされた基盤モデルのパフォーマンスを分析した後は、それをテストしたり、そのレスポンスをベースモデルと比較したりできます。ファインチューニングされた基盤モデルは、**[コンテンツの生成、抽出、要約]** 機能のチャットでテストできます。

次のいずれかの方法を選択して、ファインチューニングされたモデルとのチャットを開始します。
+ ファインチューニングされたモデルの **[分析]** タブで、**[Ready-to-use 基盤モデルでテストする]** を選択します。
+ Canvas の **[Ready-to-use モデル]** ページで、**[コンテンツの生成、抽出、要約]** を選択します。次に、**[新しいチャット]** を選択し、テストするモデルのバージョンを選択します。

モデルがチャットで起動し、他の基盤モデルと同様に操作できるようになります。チャットにさらにモデルを追加すると、出力を比較できます。チャット機能の詳細については、「[SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)」を参照してください。

## ファインチューニングされた基盤モデルを運用する
<a name="canvas-fm-chat-fine-tune-mlops"></a>

Canvas でモデルをファインチューニングした後は、以下の操作を実行できます。
+ モデルを SageMaker モデルレジストリに登録して、組織の MLOps プロセスに統合します。詳細については、「[モデルのバージョンを SageMaker AI モデルレジストリに登録する](canvas-register-model.md)」を参照してください。
+ モデルを SageMaker AI エンドポイントにデプロイし、アプリケーションまたはウェブサイトからモデルにリクエストを送信して予測 (または*推論*) を取得します。詳細については、「[モデルをエンドポイントにデプロイする](canvas-deploy-model.md)」を参照してください。

**重要**  
登録してデプロイできるのは、Amazon Bedrock ベースのモデルではなく、JumpStart ベースの、ファインチューニングされた基盤モデルのみです。

# Ready-to-use モデル
<a name="canvas-ready-to-use-models"></a>

Amazon SageMaker Canvas の Ready-to-use モデルを使用すると、コードを 1 行も記述したりモデルを構築したりすることなく、データに基づいて予測を行うことができます。必要なのはデータだけです。Ready-to-use モデルでは、モデル構築の時間、専門知識、コストを必要とせず、事前に構築されたモデルを使用して予測を生成できます。また、言語検出から経費分析まで、さまざまなユースケースから選択できます。

Canvas は、[Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html)、[Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html)、[Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) などの既存の AWS サービスと統合して、データを分析し、予測を行ったり、インサイトを抽出したりできます。Canvas アプリケーション内からこれらのサービスの予測機能を使用して、データの高品質な予測を行うことができます。

Canvas は、次のタイプの Ready-to-use モデルをサポートしています。


| Ready-to-use モデル | 説明 | サポートされているデータ型 | 
| --- | --- | --- | 
| 感情分析 | テキスト内のセンチメントを検出します。センチメントには、ポジティブ、ネガティブ、ニュートラル、またはミックスが含まれます。現在、センチメント分析ができるのは英語のテキストだけです。 | プレーンテキストまたは表形式 (CSV、Parquet) | 
| エンティティの抽出 | 人物、場所、商品などの現実世界のオブジェクトであるエンティティ、または日付や数量などの単位をテキストから抽出します。 | プレーンテキストまたは表形式 (CSV、Parquet) | 
| 言語検出 | 英語、フランス語、ドイツ語など、テキスト内の主要言語を特定します。 | プレーンテキストまたは表形式 (CSV、Parquet) | 
| 個人情報検知 | 住所、銀行口座番号、電話番号など、個人を特定できる可能性のある個人情報をテキストから検出します。 | プレーンテキストまたは表形式 (CSV、Parquet) | 
| 画像内のオブジェクト検出 | 画像内のオブジェクト、コンセプト、シーン、アクションを検出します。 | 画像 (JPG、PNG) | 
| 画像内のテキスト検出 | 画像内のテキストを検出します。 | 画像 (JPG、PNG) | 
| 経費分析 | 請求書や領収書から、日付、数値、商品価格、合計金額、支払い条件などの情報を抽出します。 | ドキュメント (PDF、JPG、PNG、TIFF) | 
| ID ドキュメント分析 | 米国政府が発行したパスポート、運転免許証、その他の身分証明書から情報を抽出します。 | ドキュメント (PDF、JPG、PNG、TIFF) | 
| ドキュメント分析 | ドキュメントやフォームを分析して、検出されたテキスト間の関係を確認します。 | ドキュメント (PDF、JPG、PNG、TIFF) | 
| ドキュメントクエリ | 自然言語を使用して質問をすることで、給与明細書、銀行取引明細書、W-2、住宅ローン申込書などの構造化された文書から情報を抽出します。 | ドキュメント (PDF) | 

## はじめに
<a name="canvas-ready-to-use-get-started"></a>

Ready-to-use モデルを使い始めるには、以下の情報を確認します。

**前提条件**

Canvas で生成 AI 搭載モデルを使用するには、[Amazon SageMaker AI ドメインを設定する](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)際に、**[Canvas の Ready-to-use モデルの設定]** アクセス許可を有効にする必要があります。**Canvas の Ready-to-use モデルの設定**は、[AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) ポリシーを Canvas ユーザーの AWS Identity and Access Management (IAM) 実行ロールにアタッチします。権限の付与に関して問題が発生した場合は、「[SageMaker AI コンソールを介したアクセス許可の付与に関する問題のトラブルシューティング](canvas-limits.md#canvas-troubleshoot-trusted-services)」のトピックを参照してください。

ドメインを既に設定している場合は、ドメインの設定を編集して権限を有効にできます。ドメインの設定を編集する手順については、「[Edit domain settings](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-edit.html)」を参照してください。ドメインの設定を編集する場合は、**[Canvas の設定]** に移動して、**[Canvas の Ready-to-use モデルを有効にする]** オプションを有効にしてください。

**(オプション) AI サービスデータストレージのオプトアウト**

特定の AWS AI サービスは、データを保存して使用し、サービスを改善します。ユーザーは、サービスの改善のためにデータが保存または使用されることをオプトアウトできます。オプトアウトする方法の詳細については、*AWS Organizations ユーザーガイド*の「[AI services opt-out policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)」を参照してください。

**Ready-to-use モデルの使用方法**

Ready-to-use モデルを使い始めるには、次の手順に従います。

1. **(オプション) データをインポートします。**表形式、画像、または文書データセットをインポートしてバッチ予測を生成したり、Ready-to-use モデルを使用して予測のデータセットを生成したりできます。データセットのインポートを開始するには、「[データセットを作成する](canvas-data-flow.md)」を参照してください。

1. **予測を生成する。**選択した Ready-to-use モデルを使用して、単一またはバッチ予測を生成できます。予測を開始するには、「[テキストデータの予測を行う](canvas-ready-to-use-predict-text.md)」を参照してください。

# テキストデータの予測を行う
<a name="canvas-ready-to-use-predict-text"></a>

テキストデータセットの単一予測とバッチ予測の両方を行う方法を以下に示します。それぞれの Ready-to-use モデルは、データセットの**単一予測**と**バッチ予測**の両方をサポートします。**単一予測**では、単一の予測を行います。例えば、テキストを抽出する画像が 1 つだけの場合や、主要言語を検出するテキストの段落が 1 つだけの場合です。**バッチ予測**では、データセット全体の予測を行います。例えば、顧客のセンチメントを分析する顧客レビューの CSV ファイルや、オブジェクトを検出する画像ファイルの場合です。

これらの手順は、センチメント分析、エンティティ抽出、言語検出、個人情報検出などの Ready-to-use モデルタイプで使用できます。

**注記**  
現在、センチメント分析ができるのは英語のテキストだけです。

## 単一予測
<a name="canvas-ready-to-use-predict-text-single"></a>

テキストデータを使用して、Ready-to-use モデルで単一の予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[Ready-to-use モデル]** ページで、ユースケースに合った Ready-to-use モデルを選択します。テキストデータの場合、**センチメント分析**、**エンティティ抽出**、**言語検出**、または**個人情報検出**のいずれかである必要があります。

1. 選択した Ready-to-use モデルの **[予測を実行]** ページで、**[単一予測]** を選択します。

1. **[テキストフィールド]** に、予測を取得するテキストを入力します。

1. **[予測結果を生成]** を選択して予測を生成します。

右側のペインの **[予測結果]** には、各結果またはラベルの **[信頼度]** スコアに加えて、テキストの分析結果が表示されます。例えば、言語検出を選択して、フランス語のテキストの一部を入力した場合、信頼度スコアはフランス語が 95%、英語など他の言語が 5% になることがあります。

次のスクリーンショットは、その文章が英語であることのモデルの信頼度が 100% の場合の、言語検出を使用した単一予測の結果を示しています。

![\[言語検出の Ready-to-use モデルを使用した単一予測の結果のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-text-prediction.png)


## バッチ予測
<a name="canvas-ready-to-use-predict-text-batch"></a>

テキストデータを使用して、Ready-to-use モデルでバッチ予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[Ready-to-use モデル]** ページで、ユースケースに合った Ready-to-use モデルを選択します。テキストデータの場合、**センチメント分析**、**エンティティ抽出**、**言語検出**、または**個人情報検出**のいずれかである必要があります。

1. 選択した Ready-to-use モデルの **[予測を実行]** ページで、**[バッチ予測]** を選択します。

1. データセットを既にインポートしている場合は、**[データセットを選択]** を選択します。それ以外の場合は、**[新しいデータセットをインポート]** を選択すると、データのインポートワークフローが表示されます。

1. 使用可能なデータセットのリストからデータセットを選択し、**[予測を生成]** を選択して予測を生成します。

予測ジョブの実行が完了すると、**[予測を実行]** ページの **[予測]** の下に出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、出力データを**プレビュー**できます。次に、**[ダウンロード]** を選択して結果をダウンロードします。

# 画像データの予測を行う
<a name="canvas-ready-to-use-predict-image"></a>

画像データセットの単一予測とバッチ予測の両方を行う方法を以下に示します。それぞれの Ready-to-use モデルは、データセットの**単一予測**と**バッチ予測**の両方をサポートします。**単一予測**では、単一の予測を行います。例えば、テキストを抽出する画像が 1 つだけの場合や、主要言語を検出するテキストの段落が 1 つだけの場合です。**バッチ予測**では、データセット全体の予測を行います。例えば、顧客のセンチメントを分析する顧客レビューの CSV ファイルや、オブジェクトを検出する画像ファイルの場合です。

これらの手順は、オブジェクト検出画像、および画像内のテキスト検出などの Ready-to-use モデルタイプで使用できます。

## 単一予測
<a name="canvas-ready-to-use-predict-image-single"></a>

画像データを使用して、Ready-to-use モデルで単一の予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[Ready-to-use モデル]** ページで、ユースケースに合った Ready-to-use モデルを選択します。画像データの場合は、**[オブジェクト検出画像]** または **[画像内のテキスト検出]** のいずれかである必要があります。

1. 選択した Ready-to-use モデルの **[予測を実行]** ページで、**[単一予測]** を選択します。

1. **[画像をアップロード]** を選択します。

1. ローカルコンピューターからアップロードする画像を選択するプロンプトが表示されます。ローカルファイルから画像を選択すると、予測結果が生成されます。

右側のペインの **[予測結果]** には、検知された各オブジェクトまたはテキストの **[信頼度]** スコアに加えて、画像の分析結果が表示されます。例えば、画像内のオブジェクト検出を選択した場合、画像内のオブジェクトのリストと、モデルでの各オブジェクトの検出精度の信頼性を示す信頼度スコア (93% など) が表示されます。

次のスクリーンショットは、画像内のオブジェクト検出ソリューションを使用した単一予測の結果を示しています。モデルでは、時計塔やバスなどの物体を 100% の信頼性で予測しています。

![\[画像内のオブジェクト検出ソリューションの Ready-to-use モデルを使用した単一予測の結果。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-image-prediction.png)


## バッチ予測
<a name="canvas-ready-to-use-predict-image-batch"></a>

画像データを使用して、Ready-to-use モデルでバッチ予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[Ready-to-use モデル]** ページで、ユースケースに合った Ready-to-use モデルを選択します。画像データの場合は、**[オブジェクト検出画像]** または **[画像内のテキスト検出]** のいずれかである必要があります。

1. 選択した Ready-to-use モデルの **[予測を実行]** ページで、**[バッチ予測]** を選択します。

1. データセットを既にインポートしている場合は、**[データセットを選択]** を選択します。それ以外の場合は、**[新しいデータセットをインポート]** を選択すると、データのインポートワークフローが表示されます。

1. 使用可能なデータセットのリストからデータセットを選択し、**[予測を生成]** を選択して予測を生成します。

予測ジョブの実行が完了すると、**[予測を実行]** ページの **[予測]** の下に出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[予測結果を表示]** を選択して出力データをプレビューできます。その後、**[予測をダウンロード]** を選択して、結果を CSV または ZIP ファイルでダウンロードできます。

# ドキュメントデータの予測を行う
<a name="canvas-ready-to-use-predict-document"></a>

ドキュメントデータセットの単一予測とバッチ予測の両方を行う方法を以下に示します。それぞれの Ready-to-use モデルは、データセットの**単一予測**と**バッチ予測**の両方をサポートします。**単一予測**では、単一の予測を行います。例えば、テキストを抽出する画像が 1 つだけの場合や、主要言語を検出するテキストの段落が 1 つだけの場合です。**バッチ予測**では、データセット全体の予測を行います。例えば、顧客のセンチメントを分析する顧客レビューの CSV ファイルや、オブジェクトを検出する画像ファイルの場合です。

これらの手順は、経費分析、身元証明書分析、および文書分析の Ready-to-use モデルタイプで使用できます。

**注記**  
ドキュメントクエリでは、現在単一予測のみがサポートされています。

## 単一予測
<a name="canvas-ready-to-use-predict-document-single"></a>

ドキュメントデータを使用して、Ready-to-use モデルで単一の予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[Ready-to-use モデル]** ページで、ユースケースに合った Ready-to-use モデルを選択します。ドキュメントデータの場合は、**[経費分析]**、**[身分証明書分析]**、または[**ドキュメント分析]** のいずれかである必要があります。

1. 選択した Ready-to-use モデルの **[予測を実行]** ページで、**[単一予測]** を選択します。

1. Ready-to-use モデルが身分証明書分析またはドキュメント分析の場合は、以下のアクションを実行します。経費分析または文書クエリを行う場合は、この手順をスキップして、手順 5 または手順 6 に進んでください。

   1. **[ドキュメントのアップロード]** を選択します。

   1. ローカルコンピューターから PDF、JPG、または PNG ファイルをアップロードするように求められます。ローカルファイルからドキュメントを選択すると、予測結果が生成されます。

1. Ready-to-use が経費分析の場合は、次の操作を行います。

   1. **[請求書または領収書のアップロード]** を選択します。

   1. ローカルコンピューターから PDF、JPG、PNG、または TIFF ファイルをアップロードするように求められます。ローカルファイルからドキュメントを選択すると、予測結果が生成されます。

1. Ready-to-use モデルがドキュメントクエリの場合は、次の操作を行います。

   1. **[ドキュメントのアップロード]** を選択します。

   1. ローカルコンピューターから PDF ファイルをアップロードするように求められます。ローカルファイルのドキュメントを選択します。PDF は 1～100 ページでなければなりません。
**注記**  
アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、または欧州 (フランクフルト) 地域の場合、ドキュメントクエリの最大 PDF サイズは 20 ページです。

   1. 右側のペインに、ドキュメント内の情報を検索するクエリを入力します。1 つのクエリに入力できる文字数は 1～200 文字です。クエリは一度に 15 個まで追加できます。

   1. **[クエリを送信]** を選択すると、クエリに対する回答を含む結果が生成されます。クエリを送信するたびに 1 回請求されます。

右側のペインの **[予測結果]** には、文書の分析が表示されます。

以下の情報は、各タイプのソリューションの結果を示しています。
+ 経費分析では、結果は領収書の合計などのフィールドを含む**[概要フィールド]** と、領収書の個々のアイテムなどのフィールドを含む**[行アイテムフィールド]** が表示されます。識別されたフィールドは、出力されたドキュメント画像上で強調表示されます。
+ 身分証明書分析の場合、出力には、氏名、住所、生年月日など、Ready-to-use モデルが識別したフィールドが表示されます。識別されたフィールドは、出力されたドキュメント画像上で強調表示されます。
+ 文書分析では、**[未加工テキスト]**、**[フォーム]**、**[表]**、**[署名]** が表示されます。**[未加工テキスト]** には抽出されたテキストがすべて含まれ、**[フォーム]**、**[表]**、**[署名]** にはこれらのカテゴリに該当するフォームに関する情報のみが含まれます。例えば、**[表]** にはドキュメント内の表から抽出された情報のみが含まれます。識別されたフィールドは、出力されたドキュメント画像上で強調表示されます。
+ ドキュメントクエリの場合、Canvas は各クエリに対する回答を返します。折りたたみ可能なクエリのドロップダウンを開くと、結果と予測の信頼度スコアが表示されます。Canvas がドキュメント内で複数の回答を検出した場合、クエリごとに複数の結果が表示される場合があります。

次のスクリーンショットは、ドキュメント分析ソリューションを使用した単一予測の結果を示しています。

![\[ドキュメント分析の Ready-to-use モデルを使用した単一予測の結果のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-document-analysis.png)


## バッチ予測
<a name="canvas-ready-to-use-predict-document-batch"></a>

ドキュメントデータを使用して、Ready-to-use モデルでバッチ予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[Ready-to-use モデル]** を選択します。

1. **[Ready-to-use モデル]** ページで、ユースケースに合った Ready-to-use モデルを選択します。画像データの場合は、**[経費分析]**、**[身分証明書分析]**、または[**ドキュメント分析]** のいずれかである必要があります。

1. 選択した Ready-to-use モデルの **[予測を実行]** ページで、**[バッチ予測]** を選択します。

1. データセットを既にインポートしている場合は、**[データセットを選択]** を選択します。それ以外の場合は、**[新しいデータセットをインポート]** を選択すると、データのインポートワークフローが表示されます。

1. 使用可能なデータセットのリストからデータセットを選択し、**[予測を生成]** を選択します。ユースケースがドキュメント分析の場合は、手順 6 に進んでください。

1. (オプション) ユースケースがドキュメント分析の場合は、**[バッチ予測に含める機能の選択]** という別のダイアログボックスが表示されます。**[フォーム]**、**[表]**、**[署名]** を選択して、結果をそれらの機能にグループ化できます。次に、**[予測を生成]** を選択します。

予測ジョブの実行が完了すると、**[予測を実行]** ページの **[予測]** の下に出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[予測結果を表示]** を選択してドキュメントデータの分析結果をプレビューできます。

以下の情報は、各タイプのソリューションの結果を示しています。
+ 経費分析では、結果は領収書の合計などのフィールドを含む**[概要フィールド]** と、領収書の個々のアイテムなどのフィールドを含む**[行アイテムフィールド]** が表示されます。識別されたフィールドは、出力されたドキュメント画像上で強調表示されます。
+ 身分証明書分析の場合、出力には、氏名、住所、生年月日など、Ready-to-use モデルが識別したフィールドが表示されます。識別されたフィールドは、出力されたドキュメント画像上で強調表示されます。
+ 文書分析では、**[未加工テキスト]**、**[フォーム]**、**[表]**、**[署名]** が表示されます。**[未加工テキスト]** には抽出されたテキストがすべて含まれ、**[フォーム]**、**[表]**、**[署名]** にはこれらのカテゴリに該当するフォームに関する情報のみが含まれます。例えば、**[表]** にはドキュメント内の表から抽出された情報のみが含まれます。識別されたフィールドは、出力されたドキュメント画像上で強調表示されます。

結果をプレビューしたら、**[予測をダウンロード]** を選択して、結果を ZIP ファイルでダウンロードできます。

# カスタムモデル
<a name="canvas-custom-models"></a>

Amazon SageMaker Canvas では、特定のデータやユースケースに合わせたカスタム機械学習モデルをトレーニングできます。データに基づいてカスタムモデルをトレーニングすることで、データに特有の最も代表的な特性や傾向を把握できます。物流業務を管理するための、倉庫の在庫データに基づいてトレーニングするカスタム時系列予測モデルの作成が例として挙げられます。

Canvas では、さまざまなモデルタイプのトレーニングをサポートしています。カスタムモデルをトレーニングした後は、モデルのパフォーマンスと精度を評価できます。満足するモデルになったら、新しいデータで予測を実行できます。カスタムモデルをデータサイエンティストと共有して詳細な分析を行なったり、SageMaker がホストするエンドポイントにデプロイしてリアルタイム推論を行ったりすることもできます。すべての操作は Canvas アプリケーション内から行うことができます。

Canvas カスタムモデルは、次のタイプのデータセットでトレーニングできます。
+ 表形式 (数値、カテゴリ、時系列、テキストデータを含む)
+ 画像

Canvas で構築できるカスタムモデルのタイプ、サポートされているデータ型、データソースを次の表に示します。


| モデルタイプ | ユースケースの例 | サポートされているデータ型 | サポートされているデータソース | 
| --- | --- | --- | --- | 
| 数値予測 | 平方フィートなどの特徴に基づく住宅価格の予測 | 数値 | ローカルアップロード、Amazon S3、SaaS コネクタ | 
| 2 カテゴリ予測 | カスタマーチャーン予測 | バイナリまたはカテゴリ | ローカルアップロード、Amazon S3、SaaS コネクタ | 
| 3\$1 カテゴリ予測 | 退院後の患者の予後予測 | カテゴリ | ローカルアップロード、Amazon S3、SaaS コネクタ | 
| 時系列予測 | 次の四半期の在庫予測 | 時系列 | ローカルアップロード、Amazon S3、SaaS コネクタ | 
| 単一ラベル画像予測 | 画像に含まれる製造上の欠陥の種類の予測 | 画像 (JPG、PNG) | ローカルアップロード、Amazon S3 | 
| マルチカテゴリテキスト予測 | 商品説明に基づいた衣類、電気製品、家庭用品などの製品カテゴリの予測 |  ソース列: テキスト ターゲット列: バイナリまたはカテゴリ | ローカルアップロード、Amazon S3 | 

**開始方法**

カスタムモデルから予測を構築して生成するには、以下を実行します。
+ ユースケースと構築するモデルのタイプを決定します。カスタムモデルのタイプの詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。カスタムモデルでサポートされているデータ型とソースの詳細については、「[データのインポート](canvas-importing-data.md)」を参照してください。
+ Canvas に[データをインポート](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-importing-data.html)します。入力要件を満たす任意の表形式または画像のデータセットを使用して、カスタムモデルを構築できます。入力要件の詳細については、「[データセットの作成](canvas-import-dataset.md)」を参照してください。

  SageMaker AI が提供する実験可能なサンプルデータセットの詳細については、「[Canvas のサンプルデータセット](canvas-sample-datasets.md)」を参照してください。
+ カスタムモデルを[構築](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)します。**クイックビルド**を実行しモデルを取得してより迅速に予測を開始することも、**標準ビルド**を実行して精度を高めることもできます。

  数値、カテゴリ、時系列予測モデルタイプでは、[Data Wrangler 機能](canvas-data-prep.md)を使用してデータを整理し、準備することができます。Data Wrangler では、データフローを作成して、高度な変換の適用やデータセットの結合など、さまざまなデータ準備手法を使用できます。画像予測モデルでは、[画像データセットを編集する](canvas-edit-image.md)してラベルを更新したり、画像を追加したり削除したりできます。これらの機能はマルチカテゴリのテキスト予測モデルでは使用できないことに注意してください。
+ [モデルのパフォーマンスを評価](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html)し、実際のデータでどの程度うまく機能するかを判断してください。
+ モデルを使用して[単一予測またはバッチ予測を行います](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-make-predictions.html)。

# カスタムモデルの仕組み
<a name="canvas-build-model"></a>

Amazon SageMaker Canvas を使用し、インポートしたデータセットでカスタムモデルを構築します。構築したモデルを使用して、新しいデータで予測を行います。SageMaker Canvas では、データセット内の情報を使用して最大 250 のモデルが構築され、最適なモデルが選択されます。

モデルの構築を始めると、Canvas は 1 つ以上の*モデルタイプ*を自動的に推奨します。モデルタイプは、以下のいずれかに分類されます。
+ **数値予測** - これは、機械学習では*リグレッション*と呼ばれます。数値データを予測する場合は、数値予測モデルタイプを使用します。例えば、住宅の平方フィートなどの特徴に基づいて住宅価格を予測する場合です。
+ **カテゴリ予測** - これは、機械学習では*分類*と呼ばれます。データをグループに分類する場合は、次のカテゴリ予測モデルタイプを使用します。
  + **2 カテゴリ予測** — データについて予測したいカテゴリが 2 つある場合は、2 カテゴリ予測モデルタイプ (機械学習では*二項分類*とも呼ばれます) を使用します。例えば、顧客のチャーン可能性予測の場合です。
  + **3\$1 カテゴリ予測** — データについて予測したいカテゴリが 3 つ以上ある場合は、3\$1 カテゴリ予測モデルタイプ (機械学習では*マルチクラス分類*とも呼ばれます) を使用します。例えば、過去の支払いなどの特徴に基づいて、顧客のローン状況を予測する場合です。
+ **時系列予測** - 一定の期間を対象とした予測を行う場合は、時系列予測を使用します。例えば、次の四半期に販売する商品の数を予測する場合です。時系列予測の詳細については、「[Time Series Forecasts in Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-time-series.html)」を参照してください。
+ **画像予測** — 画像にラベルを割り当てる場合は、シングルラベル画像予測モデルタイプ (機械学習では*シングルラベル画像分類*とも呼ばれます) を使用します。例えば、商品の画像に含まれるさまざまなタイプの製造上の欠陥を分類する場合です。
+ **テキスト予測** — テキストの一部にラベルを割り当てる場合は、マルチカテゴリテキスト予測モデルタイプ (機械学習では*マルチクラステキスト分類*とも呼ばれます) を使用します。例えば、ある商品のカスタマーレビューのデータセットがあり、顧客がその商品を気に入ったかそうでないかを判断する場合です。対象のテキストが、`Positive`、`Negative`、または `Neutral` のいずれであるかをモデルに予測させることができます。

各モデル型でサポートされる入力データ型の表については、「[カスタムモデル](canvas-custom-models.md)」を参照してください。

構築する表形式データモデル (数値モデル、カテゴリモデル、時系列予測モデル、テキスト予測モデルを含む) ごとに、**[ターゲット]** 列を選択します。**[ターゲット列]** は、予測する情報を含む列です。例えば、ユーザーがサブスクリプションをキャンセルしたかどうかを予測するモデルを構築する場合、**[ターゲット列]** には、ユーザーのキャンセルステータスに関する「`yes`」または「`no`」のデータポイントが含まれます。

画像予測モデルでは、ラベルが割り当てられた画像のデータセットを使用してモデルを構築します。ラベルのない画像については、モデルがラベルを予測します。例えば、画像が猫か犬かを予測するモデルを作成する場合、モデルを構築する際に猫または犬というラベルの付いた画像を提供します。こうすることで、モデルはラベルの付いていない画像を受け入れ、それらが猫か犬かを予測できます。

**モデル構築時の注意点**

モデルを構築する際は、**[クイックビルド]** または **[標準ビルド]** のいずれを選択できます。**[クイックビルド]** は短時間でモデルを構築できますが、**[標準ビルド]** の方が一般的に精度が高くなります。

表形式予測モデルと時系列予測モデルの場合、Canvas では*ダウンサンプリング*を使用して、それぞれ 5 GB または 30 GB を超えるデータセットのサイズを縮小します。Canvas では、階層化されたサンプリング方法を使用してダウンサンプリングを行います。次の表に、モデルタイプ別のダウンサンプルのサイズを示します。サンプリングプロセスを制御するには、Canvas の Data Wrangler を使用して、任意のサンプリング手法を使用してサンプリングできます。時系列データの場合は、再サンプリングしてデータポイントを集約できます。サンプリングの詳細については、「[サンプリング](canvas-transform.md#canvas-transform-sampling)」を参照してください。時系列データの再サンプリングの詳細については、「[時系列データを再サンプリングする](canvas-transform.md#canvas-resample-time-series)」を参照してください。

50,000 行を超えるデータセットで**クイックビルド**を実行する場合、Canvas はモデルトレーニング時間を短縮するために 50,000 行までのデータをサンプリングします。

次の表は、各モデルとビルドタイプの平均ビルド時間、大きなデータセットを持つモデルを構築する際のダウンサンプリングのサイズ、各ビルドタイプに必要なデータポイントの最小数と最大数などの、モデル構築プロセスの主な特徴をまとめたものです。


| 制限 | 数値予測およびカテゴリ予測 | 時系列予測 | 画像予測 | テキスト予測 | 
| --- | --- | --- | --- | --- | 
| **クイックビルド**の時間 | 2 - 20 分 | 2 - 20 分 | 15 - 30 分 | 15 - 30 分 | 
| **標準ビルド**の時間 | 2 - 4 時間 | 2 - 4 時間 | 2 - 5 時間 | 2 - 5 時間 | 
| ダウンサンプリングサイズ (Canvas によるダウンサンプリング後の大きなデータセットの縮小サイズ) | 5 GB | 30 GB | 該当なし | 該当なし | 
| **クイックビルド**の最小エントリ数 (行) |  2 つのカテゴリ: 500 行 3\$1 カテゴリ、数値、時系列: 該当なし  | 該当なし | 該当なし | 該当なし | 
| **標準ビルド**の最小エントリ数 (行、画像、またはドキュメント) | 250 | 50 | 50 | 該当なし | 
| **クイックビルド**の最大エントリ数 (行、画像、またはドキュメント) | 該当なし | 該当なし | 5000 | 7500 | 
| **標準ビルド**の最大エントリ数 (行、画像、またはドキュメント) | 該当なし | 150,000 | 180,000 | 該当なし | 
| 列の最大数 | 1,000 | 1,000 | 該当なし | 該当なし | 

Canvas は、モデルタイプに応じて、データセットの残りの情報を使用して値を予測します。
+ カテゴリ予測の場合、Canvas は各行を **[ターゲット列]** に一覧表示されているカテゴリのいずれかに配置します。
+ 数値予測の場合は、Canvas はデータセット内の情報を使用して、**[ターゲット列]** の数値を予測します。
+ 時系列予測の場合は、Canvas は履歴データを使用して将来の **[ターゲット列]** の値を予測します。
+ 画像予測の場合は、Canvas はラベルが割り当てられた画像を使用して、ラベルの付いていない画像のラベルを予測します。
+ テキスト予測の場合は、Canvas はラベルが割り当てられたテキストデータを分析して、ラベルの付いていないテキストのラベルを予測します。

**モデルの構築に役立つその他の機能**

モデルを構築する前に、Canvas の Data Wrangler を使用して、300 以上の組み込み変換と演算子を使用してデータを準備できます。Data Wrangler は、表形式データセットと画像データセットの両方の変換をサポートしています。さらに、Canvas の外部データソースに接続し、データセット全体に変換を適用するジョブを作成した後、完全に準備およびクリーンアップされたデータをエクスポートして、Canvas 外部の ML ワークフローで使用することができます。詳細については、「[データ準備](canvas-data-prep.md)」を参照してください。

視覚化と分析を表示してデータを探索し、モデルに含める機能を判断するには、Data Wrangler の組み込み分析を使用できます。また、データセットに関する潜在的な問題を浮き彫りにして、その修正方法に関する推奨事項を提供する**データ品質とインサイトレポート**にアクセスすることもできます。詳細については、「[探索的データ分析 (EDA) を実行する](canvas-analyses.md)」を参照してください。

Data Wrangler を通じて提供されるより高度なデータ準備と探索機能に加えて、Canvas では次の目的に使用できる、いくつかの基本的な機能を提供します。
+ データをフィルタリングし、一連の基本的なデータ変換にアクセスするには、「[モデル構築用のデータを準備する](canvas-prepare-data.md)」を参照してください。
+ 特徴量探索用の単純な視覚化と分析にアクセスするには、「[データの探索と分析](canvas-explore-data.md)」を参照してください。
+ モデルのプレビュー、データセットの検証、モデルの構築に使用されるランダムサンプルのサイズの変更など、その他の機能の詳細については、「[モデルをプレビューする](canvas-preview-model.md)」を参照してください。

複数の列がある表形式のデータセット (カテゴリ、数値、または時系列予測の各モデルタイプを構築するためのデータセットなど) では、行にデータポイントが欠落している場合があります。Canvas はモデルを構築する際に欠損値を自動的に追加します。Canvas は、データセット内の値を使用して、欠損値の数学的近似を実行します。モデル精度を最も高くするために、欠落しているデータが見つかった場合は、その値を追加することをお勧めします。欠損データ機能は、テキスト予測モデルや画像予測モデルではサポートされていないことに注意してください。

**開始方法**

カスタムモデルの構築を開始するには、作成するモデルの種類に応じた「[モデルの構築](canvas-build-model-how-to.md)」手順を参照して手順に従ってください。

# モデルをプレビューする
<a name="canvas-preview-model"></a>

**注記**  
以下の機能は、表形式のデータセットで構築されたカスタムモデルでのみ使用できます。マルチカテゴリテキスト予測モデルも対象外です。

SageMaker Canvas には、構築を開始する前にモデルをプレビューするためのツールが用意されています。これにより、推定精度スコアが得られるほか、各列がモデルにどのように影響するかについての予備的な予想も得られます。

モデルスコアをプレビューするには、モデルの **[ビルド]** タブで **[モデルをプレビュー]** を選択します。

モデルプレビューによって、モデルがデータをどの程度正しく分析できるかの **[推定精度]** 予測が生成されます。**[クイックビルド]** または **[標準ビルド]** の精度は、モデルが実際のデータで機能する精度を表しており、一般的に **[推定精度]** よりも高くなります。

モデルプレビューでは、**[列の影響]** スコアも提供されます。このスコアは、モデルの予測に対する各列の重要性を示します。

次のスクリーンショットは、Canvas アプリケーションのモデルプレビューを示しています。

![\[Canvas のモデルの [ビルド] タブのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-build/canvas-build-preview-model.png)


Amazon SageMaker Canvas では、モデルの構築中に、データセット内の欠損値が自動的に処理されます。データセット内にある隣接する値を使用することによって、欠損値が推測されます。

モデルプレビューに満足していて、モデルの構築を続行する場合は、「[モデルの構築](canvas-build-model-how-to.md)」を参照してください。

# データ検証
<a name="canvas-dataset-validation"></a>

モデルを構築する前に、SageMaker Canvas ではデータセットにビルド失敗の原因となる問題がないかをチェックします。SageMaker Canvas が問題を検出すると、モデルの構築前に **[ビルド]** ページに警告が表示されます。

データセットの問題のリストを表示するには、**[データの検証]** を選択します。その後、SageMaker Canvas の [Data Wrangler データ準備機能](canvas-data-prep.md)または独自のツールを使用して、構築の開始前にデータセットを修正できます。データセットの問題を修正しない場合、モデルの構築は失敗します。

問題を解決するためにデータセットに変更を加えた場合は、構築する前にデータセットを再検証することができます。構築する前にデータセットを再検証することをお勧めします。

SageMaker Canvas がデータセットで確認する問題とその解決方法を次の表に示します。


| 問題 | 解決方法 | 
| --- | --- | 
|  データのモデルタイプが正しく有りません。  |  別のモデルタイプを試すか、別のデータセットを使用してください。  | 
|  ターゲット列に値が不足しています。  |  欠損値を置き換えるか、欠損値のある行を削除するか、別のデータセットを使用してください。  | 
|  対象列の固有ラベルが多すぎます。  |  ターゲット列に正しい列を使用していることを確認するか、別のデータセットを使用してください。  | 
|  ターゲット列に数値以外の値が多すぎます。  |  別のターゲット列を選択するか、別のモデルタイプを選択するか、別のデータセットを使用してください。  | 
|  1 つ以上の列名に二重のアンダースコアが含まれています  |  列の名前を変更して二重のアンダースコアを削除し、もう一度試します。  | 
|  データセットのすべての行に欠損値があります。  |  欠損値を置き換えるか、別のデータセットを使用してください。  | 
|  データの行数に対して固有ラベルが多すぎます。  |  正しいターゲット列を使用していることを確認するか、データセットの行数を増やすか、類似のラベルを統合するか、別のデータセットを使用してください。  | 

# ランダムサンプル
<a name="canvas-random-sample"></a>

SageMaker Canvas はランダムサンプリング法を使用してデータセットをサンプリングします。ランダムサンプリング法では、サンプルに選択される確率はすべての行で等しくなります。プレビューで列を選択すると、ランダムサンプルの要約統計 (平均やモードなど) を取得できます。

デフォルトでは、SageMaker Canvas は 20,000 行を超えるデータセットについて、データセットの 20,000 行のランダムサンプルサイズを使用します。20,000 行未満のデータセットの場合、デフォルトのサンプルサイズはデータセットの全行数になります。SageMaker Canvas アプリケーションの **[ビルド]** タブで **[ランダムサンプル]** を選択すると、サンプルサイズを増減できます。スライダーを使用して目的のサンプルサイズを選択し、**[更新]** を選択してサンプルサイズを変更します。データセットに選択できる最大サンプルサイズは 40,000 行で、最小サンプルサイズは 500 行です。サンプルサイズを大きくすると、データセットのプレビューと要約統計が再度読み込まれるまでに時間がかかることがあります。

**[モデルの構築]** ページには、データセットの 100 行のプレビューが表示されます。サンプルサイズがデータセットと同じサイズの場合、プレビューではデータセットの最初の 100 行が使用されます。それ以外の場合、プレビューではランダムサンプルの最初の 100 行が使用されます。

# モデルの構築
<a name="canvas-build-model-how-to"></a>

以下のセクションでは、カスタムモデルの主なタイプごとにモデルを構築する方法を示します。
+ 数値予測モデル、2 カテゴリ予測モデル、または 3\$1 カテゴリ予測モデルを作成するには、「[数値予測カスタムモデルまたはカテゴリ予測カスタムモデルを構築する](#canvas-build-model-numeric-categorical)」を参照してください。
+ 単一ラベル画像予測モデルを構築するには、「[画像予測カスタムモデルを構築する](#canvas-build-model-image)」を参照してください。
+ マルチカテゴリテキスト予測モデルを構築するには、「[テキスト予測カスタムモデルを構築する](#canvas-build-model-text)」を参照してください。
+ 時系列予測モデルを構築するには、「[時系列予測モデルを構築する](#canvas-build-model-forecasting)」を参照してください。

**注記**  
構築後の分析中に、`ml.m5.2xlarge` インスタンスのクォータを増やすように指示するエラーが発生した場合は、「[Request a Quota Increase](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-requesting-quota-increases.html)」を参照してください。

## 数値予測カスタムモデルまたはカテゴリ予測カスタムモデルを構築する
<a name="canvas-build-model-numeric-categorical"></a>

数値予測モデルとカテゴリ予測モデルは、**[クイックビルド]** と **[標準ビルド]** の両方をサポートします。

数値予測モデルまたはカテゴリ予測モデルを構築するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[新規モデル]** を選択します。

1. **[新規モデルの作成]** ダイアログボックスで、次の操作を行います。

   1. **[モデル名]** フィールドに名前を入力します。

   1. **[予測分析]** の問題タイプを選択します。

   1. **[作成]** を選択します。

1. **[データセットを選択]** で、データセットのリストからデータセットを選択します。データをまだインポートしていない場合は、**[インポート]** を選択して、データのインポートワークフローを実行します。

1. モデルを構築する準備ができたら、**[データセットを選択]** を選択します。

1. **[ビルド]** タブの **[ターゲット]** 列のドロップダウンリストで、予測するモデルのターゲットを選択します。

1. **[モデルタイプ]** では、Canvas が問題タイプを自動的に検出します。タイプを変更したり、高度なモデルを設定したりする場合は、**[モデルの設定]** を選択します。

   **[モデルの設定]** ダイアログボックスが開いたら、次の操作を行います。

   1. **[モデルタイプ]** で、構築するモデルタイプを選択します。

   1. モデルタイプを選択した後には、追加の **[詳細設定]** があります。高度な各設定の詳細については、「[高度なモデル構築設定](canvas-advanced-settings.md)」を参照してください。詳細を設定するには、次の操作を行います。

      1. (オプション) **[目標メトリクス]** ドロップダウンメニューで、モデルの構築中に Canvas で最適化するメトリクスを選択します。メトリクスを選択しない場合、Canvas はデフォルトでメトリクスを選択します。利用可能なメトリクスの説明については、「[メトリクスのリファレンス](canvas-metrics.md)」を参照してください。

      1. **[トレーニング方法]** では、**[自動]**、**[アンサンブル]**、または **[ハイパーパラメータの最適化 (HPO) モード]** を選択します。

      1. **[アルゴリズム]** では、モデル候補を構築するために含めるアルゴリズムを選択します。

      1. **[データ分割]** では、**[トレーニングセット]** と **[検証セット]** の間でデータを分割する方法を割合で指定します。トレーニングセットはモデルの構築に使用され、検証セットはモデル候補の精度のテストに使用されます。

      1. **[最大候補数とランタイム]** については、以下を実行します。

         1. **[最大候補数]** の値、つまり Canvas が生成できるモデル候補の最大数を設定します。**[最大候補数]** は、HPO モードでのみ使用できることに注意してください。

         1. **[最大ジョブランタイム]** の時間と分の値、つまり Canvas がモデルの構築に費やすことができる最大時間を設定します。最大時間が経過すると、Canvas は構築を停止し、最適なモデル候補を選択します。

   1. 詳細を設定したら、**[保存]** を選択します。

1. データ内の列を選択または選択解除して、構築に含めたり削除したりします。
**注記**  
構築後にモデルを使用してバッチ予測を行うと、Canvas は削除された列を予測結果に追加します。ただし、Canvas はドロップされた列を時系列モデルのバッチ予測に追加しません。

1. (オプション) Canvas に用意されている視覚化ツールと分析ツールを使用してデータを視覚化し、モデルに含める機能を決定します。詳細については、「[Explore and analyze your data](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html)」を参照してください。

1. (オプション) データ変換を使用して、モデル構築用のデータの整理、変換、準備を行います。詳細については、「[Prepare your data with advanced transformations](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html)」を参照してください。**[モデルレシピ]** を選択して **[モデルレシピ]** サイドパネルを開くと、変換の表示や削除を行えます。

1. (オプション) モデル精度のプレビュー、データセットの検証、Canvas がデータセットから取得するランダムサンプルのサイズの変更などの追加機能については、「[モデルをプレビューする](canvas-preview-model.md)」を参照してください。

1. データを確認してデータセットに変更を加えたら、**[クイックビルド]** または **[標準ビルド]** を選択してモデルの構築を開始します。次のスクリーンショットは、**[ビルド]** ページの **[クイックビルド]** オプションおよび **[標準ビルド]** オプションを示しています。  
![\[[クイックビルド] および [標準ビルド] オプションが表示されている 2 カテゴリモデルの [ビルド] ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/build-page-tabular-quick-standard-options.png)

モデルの構築が始まったら、ページを閉じます。**[自分のモデル]** ページで、モデルが **[準備完了]** と表示されたら、分析と予測の準備は完了です。

## 画像予測カスタムモデルを構築する
<a name="canvas-build-model-image"></a>

単一ラベル画像予測モデルは、**[クイックビルド]** と **[標準ビルド]** の両方をサポートします。

単一ラベル画像予測モデルを構築するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[新規モデル]** を選択します。

1. **[新規モデルの作成]** ダイアログボックスで、次の操作を行います。

   1. **[モデル名]** フィールドに名前を入力します。

   1. **[画像分析]** 問題タイプを選択します。

   1. **[作成]** を選択します。

1. **[データセットを選択]** で、データセットのリストからデータセットを選択します。データをまだインポートしていない場合は、**[インポート]** を選択して、データのインポートワークフローを実行します。

1. モデルを構築する準備ができたら、**[データセットを選択]** を選択します。

1. **[ビルド]** タブには、データセット内の画像の **[ラベル分布]** が表示されます。**[モデルタイプ]** は **[単一ラベル画像予測]** に設定されています。

1. このページでは、画像をプレビューしたり、データセットを編集したりできます。ラベルの付いていない画像がある場合は、**[データセットの編集]** を選択して [ラベルがない画像にはラベルを割り当てる](canvas-edit-image.md#canvas-edit-image-assign)。[画像データセットを編集する](canvas-edit-image.md)際は、ラベル名の変更やデータセットへの画像の追加など、他のタスクも実行できます。

1. データを確認してデータセットに変更を加えたら、**[クイックビルド]** または **[標準ビルド]** を選択してモデルの構築を開始します。次のスクリーンショットは、ビルドの準備ができている画像予測モデルの **[ビルド]** ページを示しています。  
![\[単一ラベル画像予測モデルの [ビルド] ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/build-page-image-model.png)

モデルの構築が始まったら、ページを閉じます。**[自分のモデル]** ページで、モデルが **[準備完了]** と表示されたら、分析と予測の準備は完了です。

## テキスト予測カスタムモデルを構築する
<a name="canvas-build-model-text"></a>

マルチカテゴリテキスト予測モデルは、**[クイックビルド]** と **[標準ビルド]** の両方をサポートします。

テキスト予測モデルを構築するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[新規モデル]** を選択します。

1. **[新規モデルの作成]** ダイアログボックスで、次の操作を行います。

   1. **[モデル名]** フィールドに名前を入力します。

   1. **[テキスト分析]** 問題タイプを選択します。

   1. **[作成]** を選択します。

1. **[データセットを選択]** で、データセットのリストからデータセットを選択します。データをまだインポートしていない場合は、**[インポート]** を選択して、データのインポートワークフローを実行します。

1. モデルを構築する準備ができたら、**[データセットを選択]** を選択します。

1. **[ビルド]** タブの **[ターゲット]** 列のドロップダウンリストで、予測するモデルのターゲットを選択します。ターゲット列はバイナリデータ型またはカテゴリデータ型でなければならず、ターゲット列の一意のラベルごとに少なくとも 25 エントリ (データ行) が必要です。

1. **[モデルタイプ]** で、モデルタイプが自動的に **[マルチカテゴリテキスト予測]** に設定されていることを確認します。

1. トレーニング列で、テキストデータのソース列を選択します。この列は、分析するテキストを含む列である必要があります。

1. **[クイックビルド]** または **[標準ビルド]** を選択して、モデルの構築を開始します。次のスクリーンショットは、ビルドの準備ができているテキスト予測モデルの **[ビルド]** ページを示しています。  
![\[マルチカテゴリのテキスト予測モデルの [ビルド] ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/build-page-text-model.png)

モデルの構築が始まったら、ページを閉じます。**[自分のモデル]** ページで、モデルが **[準備完了]** と表示されたら、分析と予測の準備は完了です。

## 時系列予測モデルを構築する
<a name="canvas-build-model-forecasting"></a>

時系列予測モデルは、**クイックビルド**と**標準ビルド**の両方をサポートしています。

時系列予測モデルを構築するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[新規モデル]** を選択します。

1. **[新規モデルの作成]** ダイアログボックスで、次の操作を行います。

   1. **[モデル名]** フィールドに名前を入力します。

   1. **[時系列予測]** の問題タイプを選択します。

   1. **[作成]** を選択します。

1. **[データセットを選択]** で、データセットのリストからデータセットを選択します。データをまだインポートしていない場合は、**[インポート]** を選択して、データのインポートワークフローを実行します。

1. モデルを構築する準備ができたら、**[データセットを選択]** を選択します。

1. **[ビルド]** タブの **[ターゲット]** 列のドロップダウンリストで、予測するモデルのターゲットを選択します。

1. **[モデルタイプ]** セクションで、**[モデルの設定]** を選択します。

1. **[モデルの設定]** ボックスが開きます。**[時系列設定]** セクションでは、次のフィールドに入力します。

   1. **[項目 ID 列]** で、各行を一意に識別するデータセット内の列を選択します。列のデータ型は `Text` である必要があります。

   1. (オプション) **[グループ列]** では、予測値のグループ化に使用する、単一または複数のカテゴリ列 (`Text` データ型を使用) を選択します。

   1. **[タイムスタンプ列]** では、タイムスタンプ付き列 (日時形式) を選択します。承認されている日時形式の詳細については、「[Amazon SageMaker Canvas の時系列予測](canvas-time-series.md)」を参照してください。

   1. **[予測の長さ]** フィールドに、値を予測する期間を入力します。Canvas では、データ内の時間単位を自動的に検出します。

   1. (オプション) **[祝祭日スケジュールを使用]** トグルをオンにして、さまざまな国の祝祭日スケジュールを選択し、祝祭日データを使用して予測をより正確にします。

1. **[モデルの設定]** ボックスの **[詳細]** セクションには、追加の設定があります。高度な各設定の詳細については、「[高度なモデル構築設定](canvas-advanced-settings.md)」を参照してください。**[詳細]** を設定するには、次の操作を行います。

   1. **[目標メトリクス]** ドロップダウンメニューで、モデルの構築中に Canvas で最適化するメトリクスを選択します。メトリクスを選択しない場合、Canvas はデフォルトでメトリクスを選択します。利用可能なメトリクスの説明については、「[メトリクスのリファレンス](canvas-metrics.md)」を参照してください。

   1. 標準ビルドを実行している場合は、**[アルゴリズム]** セクションが表示されます。このセクションでは、モデルの構築に使用する時系列予測アルゴリズムを選択します。使用可能なアルゴリズムのサブセットを選択できます。あるいは、どれを試したらいいかわからない場合は、すべてを選択できます。

      標準ビルドを実行すると、すべてのアルゴリズムを組み合わせて予測精度を最適化するアンサンブルモデルが構築されます。
**注記**  
クイックビルドを実行している場合は、単一のツリーベースの学習アルゴリズムを使用してモデルがトレーニングされるため、アルゴリズムを選択する必要はありません。

   1. **[予測分位数]** には、最大 5 つのカンマ区切り分位数値を入力して、予測の上限と下限を指定します。

   1. **[詳細]** を設定したら、**[保存]** を選択します。

1. データ内の列を選択または選択解除して、構築に含めたり削除したりします。
**注記**  
構築後にモデルを使用してバッチ予測を行うと、Canvas は削除された列を予測結果に追加します。ただし、Canvas はドロップされた列を時系列モデルのバッチ予測に追加しません。

1. (オプション) Canvas に用意されている視覚化ツールと分析ツールを使用してデータを視覚化し、モデルに含める機能を決定します。詳細については、「[Explore and analyze your data](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html)」を参照してください。

1. (オプション) データ変換を使用して、モデル構築用のデータの整理、変換、準備を行います。詳細については、「[Prepare your data with advanced transformations](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html)」を参照してください。**[モデルレシピ]** を選択して **[モデルレシピ]** サイドパネルを開くと、変換の表示や削除を行えます。

1. (オプション) モデル精度のプレビュー、データセットの検証、Canvas がデータセットから取得するランダムサンプルのサイズの変更などの追加機能については、「[モデルをプレビューする](canvas-preview-model.md)」を参照してください。

1. データを確認してデータセットに変更を加えたら、**[クイックビルド]** または **[標準ビルド]** を選択してモデルの構築を開始します。

モデルの構築が始まったら、ページを閉じます。**[自分のモデル]** ページで、モデルが **[準備完了]** と表示されたら、分析と予測の準備は完了です。

# 高度なモデル構築設定
<a name="canvas-advanced-settings"></a>

Amazon SageMaker Canvas は、モデルの構築時に設定できるさまざまな高度な設定をサポートしています。次のページでは、すべての詳細設定のほか、オプションと設定に関する追加情報を示します。

**注記**  
現在、次の詳細設定は、数値、カテゴリ、時系列予測モデルタイプでのみサポートされています。

## 数値およびカテゴリ予測モデルの詳細設定
<a name="canvas-advanced-settings-predictive"></a>

Canvas は、数値予測モデルタイプとカテゴリ予測モデルタイプに対して次の高度な設定をサポートしています。

### 目標メトリクス
<a name="canvas-advanced-settings-predictive-obj-metric"></a>

目標メトリクスは、モデルの構築中に Canvas で最適化するメトリクスです。メトリクスを選択しない場合、Canvas はデフォルトでメトリクスを選択します。利用可能なメトリクスの詳細については、「[メトリクスのリファレンス](canvas-metrics.md)」を参照してください。

### トレーニング方法
<a name="canvas-advanced-settings-predictive-method"></a>

Canvas は、データセットのサイズに基づいてトレーニング方法を自動的に選択することも、手動で選択することもできます。以下のトレーニング方法から選択できます。
+ **アンサンブル** – SageMaker AI は AutoGluon ライブラリを活用していくつかのベースモデルをトレーニングします。データセットに最適な組み合わせを見つけるために、アンサンブルモードではモデルとメタパラメータの設定を変えて 5 ～ 10 回の試行を実行します。次に、スタッキングアンサンブル方法を使用してこれらのモデルを組み合わせて、最適な予測モデルを作成します。表形式データのアンサンブルモードでサポートされているアルゴリズムのリストについては、次の「[アルゴリズム](#canvas-advanced-settings-predictive-algos)」のセクションを参照してください。
+ **ハイパーパラメータ最適化 (HPO)** – SageMaker AI は、データセットでトレーニングジョブを実行しながら、ベイズ最適化またはマルチフィデリティ最適化を使用してハイパーパラメータを調整することにより、モデルの最適なバージョンを模索します。HPO モードは、データセットに最も関連するアルゴリズムを選択し、モデルのチューニングに最適な範囲のハイパーパラメータを選択します。モデルを調整するために、HPO モードでは最大 100 回の試行 (デフォルト) を実行して、選択した範囲内で最適なハイパーパラメータ設定を見つけます。データセットのサイズが 100 MB 未満の場合、SageMaker AI はベイズ最適化を使用します。データセットが 100 MB より大きい場合、SageMaker AI はマルチフィデリティ最適化を選択します。

  表形式データの HPO モードによってサポートされているアルゴリズムのリストについては、次の「[アルゴリズム](#canvas-advanced-settings-predictive-algos)」のセクションを参照してください。
+ **自動** – SageMaker AI は、データセットのサイズに基づいてアンサンブルモードまたは HPO モードのどちらかを自動的に選択します。データセットのサイズが 100 MB 未満の場合、SageMaker AI は HPO モードを使用します。それ以外の場合は、アンサンブルモードを選択します。

### アルゴリズム
<a name="canvas-advanced-settings-predictive-algos"></a>

**アンサンブルモード**では、Canvas は機械学習アルゴリズムをサポートしています。
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) – 勾配ブースティングを備えたツリーベースのアルゴリズムを使用する最適化されたフレームワーク。このアルゴリズムは、深さではなく幅が大きくなるツリーを使用しており、速度に関して高度に最適化されています。
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html) – 勾配ブースティングを備えたツリーベースのアルゴリズムを使用する最適化されたフレームワーク。カテゴリ変数の処理に最適化されています。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) – ツリーベースのアルゴリズムと幅ではなく深さが増す勾配ブーストを使用するフレームワーク。
+ [ランダムフォレスト](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) – データのランダムなサブサンプルに対して複数のデシジョンツリーを使用し、置換を行うツリーベースのアルゴリズム。ツリーは各レベルで最適なノードに分割されます。各ツリーの判断は、過剰適合を防ぎ、予測を改善するためにまとめて平均化されます。
+ [エクストラツリー](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) — データセット全体で複数のデシジョンツリーを使用するツリーベースのアルゴリズム。ツリーは各レベルでランダムに分割されます。各ツリーの判断は、過剰適合を防ぎ、予測を改善するために平均化されます。ツリーが追加され、ランダムフォレストアルゴリズムと比較してある程度のランダム化が可能になります。
+ [線形モデル](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) – 線形方程式を使用して観測データ内の 2 つの変数間の関係をモデル化するフレームワーク。
+ ニューラルネットワーク torch – [Pytorch](https://pytorch.org/) を使用して実装されたニューラルネットワークモデル。
+ ニューラルネットワーク fast.ai – [fast.ai](https://www.fast.ai/) を使用して実装されたニューラルネットワークモデル。

**HPO モード**では、Canvas は次の機械学習アルゴリズムをサポートしています。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) – 一連のより単純でより弱いモデルから得られた推定のアンサンブルを組み合わせることで、ターゲット変数の正確な予測を試みる、教師あり学習アルゴリズム。
+ 深層学習アルゴリズム 多層パーセプトロン (MLP) とフィードフォワード人工ニューラルネットワーク。このアルゴリズムは、線形分離不可能なデータを処理できます。

### データの分割
<a name="canvas-advanced-settings-predictive-split"></a>

データセットをトレーニングセット (モデルの構築に使用されるデータセットの部分) と検証セット (モデルの精度の検証に使用されるデータセットの部分) の間で分割する方法を指定するオプションがあります。例えば、一般的な分割比率は 80% のトレーニングと 20% の検証です。この場合、データの 80% がモデルの構築に使用され、20% がモデルのパフォーマンスを測定するために確保されます。カスタム比率を指定しない場合は、データセットが自動的に分割されます。

### 最大候補数
<a name="canvas-advanced-settings-predictive-candidates"></a>

**注記**  
この機能は、HPO トレーニングモードでのみ使用できます。

Canvas がモデルの構築中に生成するモデル候補の最大数を指定できます。最も正確なモデルを構築するには、デフォルトの候補数である 100 を使用することをお勧めします。指定できる最大数は 250 です。モデル候補の数を減らすと、モデルの精度に影響する可能性があります。

### ジョブの最大ランタイム
<a name="canvas-advanced-settings-predictive-runtime"></a>

ジョブの最大ランタイム、つまり Canvas がモデルの構築に費やす最大時間を指定できます。制限時間が過ぎると、Canvas は構築を停止し、最適なモデル候補を選択します。

指定できる最大時間は 720 時間です。Canvas がモデル候補を生成し、モデルの構築を完了するのに十分な時間を確保できるように、ジョブの最大ランタイムは 30 分より長くしておくことを強くお勧めします。

## 高度な時系列予測モデル設定
<a name="canvas-advanced-settings-time-series"></a>

時系列予測モデルの場合、Canvas は前のセクションに記載されている目標メトリクスをサポートします。

時系列予測モデルは、次の高度な設定もサポートしています。

### アルゴリズムの選択
<a name="canvas-advanced-settings-time-series-algos"></a>

時系列予測モデルを構築する場合、Canvas では統計アルゴリズムと機械学習アルゴリズムの*アンサンブル* (組み合わせ) を使用して、高精度の時系列予測を提供します。デフォルトでは、Canvas はデータセットの時系列に基づいて、使用可能なすべてのアルゴリズムの最適な組み合わせを選択します。ただし、予測モデルに使用する 1 つ以上のアルゴリズムを指定することもできます。この場合、Canvas は選択したアルゴリズムのみを使用して最適なブレンドを決定します。モデルをトレーニングするために選択するアルゴリズムが不明な場合は、使用可能なアルゴリズムをすべて選択することをお勧めします。

**注記**  
アルゴリズムの選択は、標準ビルドでのみサポートされています。詳細設定でアルゴリズムを選択しない場合、SageMaker AI はデフォルトでクイックビルドを実行し、単一のツリーベースの学習アルゴリズムを使用してモデル候補をトレーニングします。クイックビルドと標準ビルドの違いの詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。

Canvas は、次の時系列予測アルゴリズムをサポートしています。
+ [自己回帰和分移動平均 (ARIMA)](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average) – 統計分析を使用してデータを解釈し、将来の予測を行うシンプルな確率的時系列モデル。このアルゴリズムは、時系列が 100 未満の単純なデータセットに役立ちます。
+ [畳み込みニューラルネットワーク - 分位点回帰 (CNN-QR)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-algo-cnnqr.html) – 時系列の大規模なコレクションから 1 つのグローバルモデルをトレーニングし、分位数デコーダーを使用して予測を行う、独自の教師あり学習アルゴリズムです。CNN-QR は、数百の時系列を含む大規模なデータセットで最適に機能します。
+ [DeepAR \$1](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-deeparplus.html) – リカレントニューラルネットワーク (RNN) を使用してスカラー時系列を予測し、すべての時系列にわたって単一のモデルを共同でトレーニングするための独自の教師あり学習アルゴリズムです。DeepAR\$1 は、数百の特徴時系列を含む大規模なデータセットで最適に機能します。
+ [非パラメトリック時系列 (NPTS)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-npts.html) — 過去の観測値からサンプリングすることで、特定の時系列の将来の値分布を予測するスケーラブルで確率的なベースライン予測機能です。NPTS は、スパースまたは断続的な時系列を操作する場合 (例えば、時系列のカウントが 0 または低い個々の項目に対する需要を予測する場合) に役立ちます。
+ [指数平滑法 (ETS)](https://en.wikipedia.org/wiki/Exponential_smoothing) – 古い観測の重みが指数的に減少する過去の観測の加重平均である予測を生成する予測方法。このアルゴリズムは、時系列が 100 未満の単純なデータセット、および季節性パターンのあるデータセットに役立ちます。
+ [Prophet](https://facebook.github.io/prophet/) – 強力な季節的効果と数シーズンの履歴データを持つ時系列に最も適した加法付加回帰モデルです。このアルゴリズムは、限界に近づく非線形成長トレンドがあるデータセットに役立ちます。

### 予測分位数
<a name="canvas-advanced-settings-time-series-quantiles"></a>

時系列予測の場合、SageMaker AI はターゲット時系列を使用して 6 つのモデル候補をトレーニングします。次に、スタッキングアンサンブル方法を使用してこれらのモデル候補を組み合わせて、特定の目標メトリクスに最適な予測モデルを作成します。各予測モデルは、P1 と P99 の間の分位数で予測を生成することによって確率予測を生成します。これらの分位数は、予測の不確実性を考慮するために使用されます。デフォルトでは、0.1 (`p10`)、0.5 (`p50`)、0.9 (`p90`) の予測が生成されます。0.01 (`p1`) から 0.99 (`p99`) までの独自の分位数を 0.01 以上の増分で最大 5 つまで指定できます。

# 画像データセットを編集する
<a name="canvas-edit-image"></a>

Amazon SageMaker Canvas では、モデルを構築する前に画像データセットを編集し、ラベルを確認できます。ラベルの付いていない画像にラベルを割り当てたり、データセットにさらに画像を追加したりするなどのタスクを実行する場合があります。これらのタスクはすべて Canvas アプリケーションで実行できるため、データセットの変更とモデルの構築を 1 か所で行うことができます。

**注記**  
モデルを構築する前に、データセット内のすべての画像にラベルを割り当てる必要があります。また、2 つ以上のラベルと、ラベルごとに少なくとも 25 枚の画像が必要です。ラベルの割り当ての詳細については、このページの「**ラベルのない画像にラベルを割り当てる**」セクションを参照してください。画像のラベルがわからない場合は、データセットから削除する必要があります。画像の削除の詳細については、このページの「[データセットに画像を追加または削除する](#canvas-edit-image-add-delete)」セクションを参照してください。

画像データセットの編集を開始するには、単一ラベルの画像予測モデルの構築中に **[ビルド]** タブを開きます。

新しいページが開き、データセット内の画像とラベルが表示されます。このページでは、画像データセットは **[画像総数]**、**[ラベル付き画像]**、**[ラベルなし画像]** に分類されます。より正確な画像予測モデルを構築するためのベストプラクティスについては、「**データセットの準備ガイド**」を参照してください。

次のスクリーンショットは、画像データセットの編集ページを示しています。

![\[Canvas の画像データセットの管理ページのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/dataset-management-page.png)


このページでは、以下の操作を行うことができます。

## 各画像のプロパティ (ラベル、データ量、サイズ) を表示する
<a name="canvas-edit-image-view"></a>

個別の画像を表示するには、検索バーでファイル名を検索します。次に、画像を選択してフルビューを開きます。画像のプロパティを表示して、画像のラベルを再割り当てできます。画像を表示したら、**[保存]** を選択します。

## データセットでラベルの追加、名前の変更、または削除を行う
<a name="canvas-edit-image-labels"></a>

Canvas の左側のナビゲーションペインには、データセットのラベルが表示されます。**[ラベルの追加]** テキストフィールドにラベルを入力すると、データセットに新しいラベルを追加できます。

データセットでラベル名を変更または削除するには、ラベルの横にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[名前の変更]** または **[削除]** を選択します。ラベルの名前を変更する場合は、新しいラベル名を入力して **[確認]** を選択します。ラベルを削除すると、そのラベルが付けられているデータセット内のすべての画像からラベルが削除されます。そのラベルが付けられているすべての画像はラベルなしのままになります。

## ラベルがない画像にはラベルを割り当てる
<a name="canvas-edit-image-assign"></a>

データセット内のラベルの付いていない画像を表示するには、左側のナビゲーションペインで **[ラベルなし]** を選択します。各画像を選択して **[ラベルなし]** というタイトルのラベルを開き、ドロップダウンリストから画像に割り当てるラベルを選択します。複数の画像を選択してこの操作を実行することもできます。選択したすべての画像に、選択したラベルが割り当てられます。

## 画像にラベルを再度割り当てる
<a name="canvas-edit-image-reassign"></a>

単一の画像 (または複数の画像) を選択して、現在のラベルの付いたドロップダウンを開くと、画像にラベルを再度割り当てることができます。目的のラベルを選択すると、1 つまたは複数の画像が新しいラベルで更新されます。

## 画像をラベルでソートする
<a name="canvas-edit-image-sort"></a>

左側のナビゲーションペインでラベルを選択すると、特定のラベルのすべての画像を表示できます。

## データセットに画像を追加または削除する
<a name="canvas-edit-image-add-delete"></a>

上部のナビゲーションペインで **[画像の追加]** を選択すると、データセットに画像を追加できます。ワークフローに従って画像をインポートします。インポートした画像は既存のデータセットに追加されます。

データセットから画像を削除するには、画像を選択し、上部のナビゲーションペインで **[削除]** を選択します。

**注記**  
データセットに変更を加えたら、**[データセットを保存]** を選択して変更内容を保存します。

# データの探索と分析
<a name="canvas-explore-data"></a>

**注記**  
SageMaker Canvas の視覚化と分析は、表形式のデータセットに基づいて構築されたモデルにのみ使用できます。マルチカテゴリテキスト予測モデルも対象外です。

Amazon SageMaker Canvas では、視覚化と分析を使用してデータセットの変数を調べて、アプリケーション内に視覚化と分析を作成できます。モデルを構築する前に、これらの視覚化と分析を使用して、変数間の関係を確認することができます。

Canvas での視覚化の詳細については、「[視覚化を使用してデータを探索する](canvas-explore-data-visualization.md)」を参照してください。

Canvas での分析の詳細については、「[分析を使用してデータを探索する](canvas-explore-data-analytics.md)」を参照してください。

# 視覚化を使用してデータを探索する
<a name="canvas-explore-data-visualization"></a>

**注記**  
SageMaker Canvas の視覚化は、表形式のデータセットに基づいて構築されたモデルにのみ使用できます。マルチカテゴリテキスト予測モデルも対象外です。

Amazon SageMaker Canvas では、機械学習モデルを構築する前に、データを探索して視覚化し、データに関する高度なインサイトを得ることができます。散布図、棒グラフ、ボックスプロットを使用して視覚化できるため、データを理解し、モデルの精度に影響を与える可能性のある特徴間の関係を発見するのに役立ちます。

SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[データビジュアライザー]** を選択して、視覚化の作成を開始します。

視覚化のサンプルサイズを変更すると、データセットから取得するランダムサンプルのサイズを調整できます。サンプルサイズが大きすぎるとデータの視覚化のパフォーマンスに影響する可能性があるため、適切なサンプルサイズを選択することをお勧めします。サンプルサイズを変更するには、次の手順に従います。

1. **[視覚化サンプル**] を選択します。

1. スライダーを使用して希望するサンプルサイズを選択します。

1. **[更新]** を選択して、サンプルサイズの変更を確定します。

**注記**  
一部の視覚化手法では、特定のデータ型の列が必要です。例えば、散布図の X 軸と Y 軸には数値列しか使用できません。

## 散布図
<a name="canvas-explore-data-scatterplot"></a>

データセットを使用して散布図を作成するには、**[視覚化]** パネルで **[散布図]** を選択します。X 軸と Y 軸にプロットする特徴量を **[列]** セクションで選択します。列を座標軸にドラッグアンドドロップしたり、軸をドロップした後に、サポートされている列のリストから列を選択したりすることもできます。

**[色別]** では、3 つ目の特徴量を使用してプロット上のデータポイントに色を付けることができます。**[グループ別]** では、4 つ目の特徴量に基づいてデータを別々のプロットにグループ化することもできます。

次の画像は、**[色別]** と **[グループ別]** を使用した散布図を示しています。この例では、各データポイントは `MaritalStatus` 特徴量ごとに色分けされ、`Department` 特徴量でグループ化すると、各部門のデータポイントの散布図が作成されます。

![\[Canvas アプリケーションの [データビジュアライザー] ビューの散布図のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-eda-scatter-plot.png)


## 棒グラフ
<a name="canvas-explore-data-barchart"></a>

データセットを使用して棒グラフを作成するには、**[視覚化]** パネルで **[棒グラフ]** を選択します。X 軸と Y 軸にプロットする特徴量を **[列]** セクションで選択します。列を座標軸にドラッグアンドドロップしたり、軸をドロップした後に、サポートされている列のリストから列を選択したりすることもできます。

**[グループ別]** を使用すると、棒グラフを 3 つ目の特徴量でグループ化できます。**[スタック別]** を使用すると、4 つ目の特徴量の固有値に基づいて各棒グラフを縦方向にシェーディングできます。

次の画像は、**[グループ別]** と **[スタック別]** を使用した棒グラフを示しています。この例では、棒グラフは `MaritalStatus` 特徴量でグループ化され、`JobLevel` 特徴量で積み上げられています。X 軸の各 `JobRole` には、`MaritalStatus` 特徴量内の一意のカテゴリを示す個別のバーがあり、各バーは `JobLevel` 特徴量ごとに縦に積み上げられています。

![\[Canvas アプリケーションの [データビジュアライザー] ビューの棒グラフのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-eda-bar-chart.png)


## ボックスプロット
<a name="canvas-explore-data-boxplot"></a>

データセットを使用してボックスプロットを作成するには、**[視覚化]** パネルで **[ボックスプロット]** を選択します。X 軸と Y 軸にプロットする特徴量を **[列]** セクションで選択します。列を座標軸にドラッグアンドドロップしたり、軸をドロップした後に、サポートされている列のリストから列を選択したりすることもできます。

**[グループ別]** を使用すると、ボックスプロットを 3 つ目の特徴量でグループ化できます。

次の画像は、**[グループ別]** を使用したボックスプロットを示しています。この例では、X 軸と Y 軸にはそれぞれ `JobLevel` と `JobSatisfaction` が表示され、色付きのボックスプロットは `Department` 特徴量でグループ化されています。

![\[Canvas アプリケーションの [データビジュアライザー] ビューのボックスプロットのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-eda-box-plot.png)


# 分析を使用してデータを探索する
<a name="canvas-explore-data-analytics"></a>

**注記**  
SageMaker Canvas の分析は、表形式のデータセットに基づいて構築されたモデルにのみ使用できます。マルチカテゴリテキスト予測モデルも対象外です。

Amazon SageMaker Canvas の分析機能を使用すると、モデルを構築する前に、データセットを調べてすべての変数に関するインサイトを得ることができます。相関行列を使用して、データセット内の特徴量間の関係を判断できます。この手法を使用すると、データセットを 2 つ以上の値間の相関関係を示すマトリックスにまとめることができます。これにより、特定のデータセットのパターンを特定して視覚化し、高度なデータ分析に役立てることができます。

行列には、各特徴量間の相関が正、負、または中立として表示されます。モデルを構築する際は、相互に高い相関関係を持つ特徴量を含めます。相関関係がほとんどないか、まったくない特徴量はモデルとは無関係な場合があり、モデルを構築する際はそれらの特徴量を削除できます。

SageMaker Canvas で相関行列を使用するには、次のセクションを参照してください。

## 相関行列を作成する
<a name="canvas-explore-data-analytics-correlation-matrix"></a>

SageMaker Canvas アプリケーションの **[ビルド]** タブでモデルの構築の準備をする際に、相関行列を作成できます。

モデルの作成を開始する手順については、「[モデルの構築](canvas-build-model-how-to.md)」を参照してください。

SageMaker Canvas アプリケーションでモデルの準備を開始したら、次の操作を実行します。

1. **[ビルド]** タブで、**[データビジュアライザー]** を選択します。

1. 次に、**[分析]** を選択します。

1. **[相関行列]** を選択します。

次のスクリーンショットのような視覚化が表示されます。最大 15 列のデータセットが相関行列にまとめられています。

![\[Canvas アプリケーションの相関行列のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-correlation-matrix-2.png)


相関行列を作成したら、次のようにしてカスタマイズできます。

### 1. 列を選択する
<a name="canvas-explore-data-analytics-correlation-matrix-columns"></a>

**[列]** で行列に含める列を選択します。データセット内の最大 15 列を比較できます。

**注記**  
相関行列には、数値、カテゴリ、またはバイナリ列タイプを使用できます。相関行列は datetime 列タイプやテキストデータ列タイプをサポートしていません。

相関行列に列を追加または削除するには、**[列]** パネルで列を選択または選択解除します。パネルから行列に列を直接ドラッグアンドドロップすることもできます。データセットに多数の列がある場合は、**[検索列]** バーで列を検索できます。

列をデータ型でフィルタリングするには、ドロップダウンリストを選択し、**[すべて]**、**[数値]**、または **[カテゴリ]** を選択します。**[すべて]** を選択するとデータセットのすべての列が表示されるのに対し、**[数値]** フィルターと **[カテゴリ]** フィルターでは、データセットの数値列またはカテゴリ列のみが表示されます。バイナリ列タイプは数値フィルターまたはカテゴリフィルターに含まれていることに注意してください。

最適なデータインサイトを得るには、ターゲット列を相関行列に含めます。相関行列にターゲット列を含めると、その列は行列の最後の特徴量としてターゲットシンボルとともに表示されます。

### 2. 相関タイプを選択する
<a name="canvas-explore-data-analytics-correlation-matrix-cor-type"></a>

SageMaker Canvas は、さまざまな*相関タイプ*、つまり列間の相関を計算する方法をサポートしています。

相関タイプを変更するには、前のセクションで説明した **[列]** フィルターを使用して、目的の列タイプと列をフィルターします。**[相関タイプ]** はサイドパネルに表示されます。数値比較では、**[ピアソン]** または **[スピアマン]** のいずれかを選択できます。カテゴリ比較では、相関タイプは **[MI]** に設定されます。カテゴリおよび混在比較では、相関タイプは **[スピアマン & MI]** に設定されます。

数値列のみを比較する行列の場合、相関タイプはピアソンまたはスピアマンのいずれかになります。ピアソン測度は 2 つの連続変数間の線形関係を評価します。スピアマン測度は、2 つの変数間の単調関係を評価します。ピアソンとスピアマンの相関スケールの範囲は -1～1 で、スケールの両端は完全な相関 (直接の 1:1 関係) を示し、0 は相関がないことを示します。([散布図の視覚化](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html#canvas-explore-data-scatterplot)からわかるように) データの関係がより線形である場合は、ピアソンを選択します。データが線形でない場合や、線形関係と単調関係が混在している場合は、スピアマンを選択します。

カテゴリ列のみを比較する行列の場合、相関タイプは相互情報量分類 (MI) に設定されます。MI 値は 2 つの確率変数間の相互依存の尺度を表します。MI の測定値は 0～1 のスケールで、0 は相関関係がないことを示し、1 は完全な相関関係を示します。

数値列とカテゴリ列が混在して比較される行列の場合、相関タイプ **[スピアマン & MI]** はスピアマンと MI の相関タイプを組み合わせたものです。2 つの数値列間の相関関係の場合、行列にスピアマン値が表示されます。数値列とカテゴリ列、または 2 つのカテゴリ列の間の相関関係の場合、行列には MI 値が表示されます。

最後に、相関関係は必ずしも因果関係を示しているわけではないことに注意してください。相関値が強いということは、2 つの変数間に関係があることを示すだけで、変数には因果関係がない可能性があります。モデルを構築する際は偏りがないように、対象列を注意深く確認してください。

### 3. 相関関係をフィルタリングする
<a name="canvas-explore-data-analytics-correlation-matrix-filter"></a>

サイドパネルで **[相関関係フィルター]** 機能を使用して、行列に含める相関値の範囲をフィルタリングできます。例えば、正または中立の相関関係を持つ特徴量のみをフィルタリングする場合は、**[最小]** を 0 に、**[最大]** を 1 に設定します (有効な値は -1～1)。

スピアマン比較およびピアソン比較では、**[相関関係フィルター]** の範囲を -1～1 の範囲で設定できます。0 は相関がないことを意味し、-1 と 1 は変数にそれぞれ強い負または正の相関があることを意味します。

MI 比較の場合、相関範囲は 0～1 です。0 は相関がないことを意味し、1 は変数に正または負の強い相関関係があることを意味します。

各特徴量は、それ自体と完全な相関関係 (1) を持っています。そのため、相関行列の一番上の行は常に 1 になります。これらの値を除外するには、フィルターを使用して **[最大]** を 1 未満に設定します。

行列が数値列とカテゴリ列を組み合わせて比較し、**[スピアマン & MI]** の相関タイプを使用する場合、*カテゴリ x の数値*相関および*カテゴリ x のカテゴリ*相関 (MI 測度を使用) は 0～1 のスケールで、*数値 x の数値*相関 (スピアマン測度を使用) は -1～1 のスケールであることに注意してください。対象の相関関係を注意深く見直して、各値の計算に使用されている相関タイプを理解していることを確認してください。

### 4. 視覚化方法を選択する
<a name="canvas-explore-data-analytics-correlation-matrix-viz-method"></a>

サイドパネルの **[視覚化方法]** を使用して、行列の視覚化方法を変更できます。相関値 (ピアソン、スピアマン、または MI) を表示するには **[数値]** の可視化方法を選択し、さまざまなサイズと色の点で相関を視覚化するには、**[サイズ]** の可視化方法を選択します。**[サイズ]** を選択した場合、行列の上の特定の点にカーソルを合わせると、実際の相関値を確認できます。

### 5. カラーパレットを選択する
<a name="canvas-explore-data-analytics-correlation-matrix-color"></a>

サイドパネルの **[色の選択]** を使用して、行列の負の相関関係から正の相関のスケールに使用するカラーパレットを変更できます。代替カラーパレットの 1 つを選択して、行列で使用する色を変更します。

# モデル構築用のデータを準備する
<a name="canvas-prepare-data"></a>

**注記**  
SageMaker Canvas で Data Wrangler を使用して、高度なデータ準備を実行できるようになりました。これにより、自然言語インターフェイスと 300 を超える組み込み変換を利用できます。詳細については、「[データ準備](canvas-data-prep.md)」を参照してください。

機械学習データセットでは、モデルを構築する前にデータの準備が必要な場合があります。欠損値や外れ値などの問題が含まれる可能性のあるデータをクリーンアップし、特徴量エンジニアリングを実行してモデルの精度を向上させます。Amazon SageMaker Canvas は機械学習データ変換を備えており、この機能を使用してデータのクリーニング、変換、モデル構築の準備を行うことができます。これらの変換は、コードを作成することなくデータセットに使用できます。SageMaker Canvas は、使用する変換を**[モデルレシピ]** に追加します。モデルレシピは、モデルを構築する前にデータに対して行われたデータ準備の記録です。使用するデータ変換は、モデル構築用の入力データのみを変更し、元のデータソースは変更しません。

データセットのプレビューには、データセットの最初の 100 行が表示されます。データセットが 20,000 行を超える場合、Canvas は 20,000 行のランダムサンプリングを行い、そのサンプルの最初の 100 行をプレビューに表示します。プレビューに表示された行に対してのみ検索と指定を行うことができ、フィルター機能はプレビューに表示された行のみに適用され、データセット全体には適用されません。

SageMaker Canvas は、構築用のデータを準備するための以下の変換を備えています。

**注記**  
高度な変換は、表形式のデータセットに基づいて構築されたモデルにのみ使用できます。マルチカテゴリテキスト予測モデルも対象外です。

## 列をドロップする
<a name="canvas-prepare-data-drop"></a>

SageMaker Canvas アプリケーションの **[ビルド]** タブに列をドロップすることで、モデルの構築から列を除外できます。ドロップする列の選択を解除すると、その列はモデル構築時に含まれません。

**注記**  
列をドロップした後にモデルで [[バッチ予測]](canvas-make-predictions.md) を行うと、SageMaker Canvas はドロップした列を出力データセットに戻してダウンロードできるようにします。ただし、Canvas はドロップされた列を時系列モデルのバッチ予測に追加しません。

## 行をフィルタリングする
<a name="canvas-prepare-data-filter"></a>

フィルター機能は、指定した条件に基づいてプレビューされた行 (データセットの最初の 100 行) をフィルタリングします。行をフィルタリングすると、データの一時的なプレビューが作成され、モデル構築には影響しません。フィルター機能を使用して、欠損値のある行、外れ値を含む行、または選択した列のカスタム条件を満たす行をプレビューできます。

### 欠損値で行をフィルタリングする
<a name="canvas-prepare-data-filter-missing"></a>

欠落値は、機械学習データセットで一般的に見られます。特定の列に null または空の値がある行がある場合は、それらの行をフィルタリングしてプレビューすることができます。

プレビューしたデータの欠損値をフィルターするには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行でフィルター]** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/filter-icon.png)) を選択します。

1. 欠損値の有無を確認する **[列]** を選択します。

1. **[操作]** で **[欠損]** を選択します。

SageMaker Canvas は、選択した **[列]** に欠損値を含む行をフィルタリングし、フィルタリングした行のプレビューが表示されます。

![\[SageMaker Canvas アプリケーションの欠損値によるフィルタリングのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-filter-missing.png)


### 外れ値で行をフィルタリングする
<a name="canvas-prepare-data-filter-outliers"></a>

外れ値 (データの分布や範囲内にまれな値) は、モデルの精度を低下させ、モデルの構築時間が長くなる可能性があります。SageMaker Canvas では、数値列に外れ値を含む行を検出してフィルタリングできます。外れ値は、標準偏差またはカスタム範囲のいずれかで定義できます。

データ内の外れ値をフィルタリングするには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行でフィルター]** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/filter-icon.png)) を選択します。

1. 外れ値の有無を確認する **[列]** を選択します。

1. **[操作]** で **[外れ値]** を選択します。

1. **[外れ値の範囲]** を **[標準偏差]** または **[カスタム範囲]** に設定します。

1. **[標準偏差]** を選択した場合は、1～3 の **[SD]** (標準偏差) 値を指定します。**[カスタム範囲]** を選択した場合は、**[パーセント]** または **[数値]** を選択して、**[最小]** と **[最大]** の値を指定します。

**[標準偏差]** オプションでは、平均値と標準偏差を使用して数値列の外れ値を検出してフィルタリングします。値を外れ値と見なすために必要な平均値からの変化として、標準偏差の値を指定します。例えば、**[SD]** で `3` を指定すると、外れ値と見なすためには、平均値から 3 標準偏差より低い値である必要があります。

**[カスタム範囲]** オプションでは、最小値と最大値を使用して数値列の外れ値を検出してフィルタリングします。外れ値を定義するしきい値がわかっている場合は、この方法を使用します。範囲の **[タイプ]** は、**[パーセント]** または **[数値]** に設定できます。**[パーセント]** を選択した場合、**[最小]** と **[最大]** には、許容するパーセント範囲 (0～100) の最小値と最大値を指定します。**[数値]** を選択した場合、**[最小]** と **[最大]** には、データでフィルタリングする最小値と最大値を指定します。

![\[SageMaker Canvas アプリケーションの外れ値によるフィルタリングのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-filter-outlier.png)


### カスタム値で行をフィルタリングする
<a name="canvas-prepare-data-filter-custom"></a>

カスタム条件を満たす値を含む行をフィルタリングできます。例えば、価格が 100 を超える行を削除する前にプレビューする場合などです。この機能を使用すると、設定したしきい値を超える行をフィルタリングし、フィルタリングされたデータをプレビューできます。

カスタムフィルター機能を使用するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行でフィルター]** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/filter-icon.png)) を選択します。

1. 確認する **[列]** を選択します。

1. 使用する **[操作]** タイプを選択して、選択した条件の値を指定します。

**[操作]** では、以下のオプションのいずれかを選択できます。使用できる操作は、選択する列のデータ型に応じて異なる場合があります。例えば、テキスト値を含む列には `is greater than` 操作は作成できません。


| 運用 | サポートされているデータ型 | サポート対象の特徴量タイプ | 機能 | 
| --- | --- | --- | --- | 
|  と等しい  |  数値、テキスト  | バイナリ、カテゴリ |  **[列]** の値が指定した値と等しい行をフィルタリングします。  | 
|  と等しくない  |  数値、テキスト  | バイナリ、カテゴリ |  **[列]** の値が指定した値と等しくない行をフィルタリングします。  | 
|  未満  |  数値  | 該当なし |  **[列]** の値が指定した値未満の行をフィルタリングします。  | 
|  未満または等しい  |  数値  | 該当なし |  **[列]** の値が指定した値未満または等しい行をフィルタリングします。  | 
|  以上  |  数値  | 該当なし |  **[列]** の値が指定した値以上の行をフィルタリングします。  | 
|  以上または等しい  |  数値  | 該当なし |  **[列]** の値が指定した値以上または等しい行をフィルタリングします。  | 
|  の間  |  数値  | 該当なし |  **[列]** の値が指定した 2 つの値の間または等しい行をフィルタリングします。  | 
|  を含む  |  テキスト  | カテゴリ |  **[列]** の値が指定した値を含む行をフィルタリングします。  | 
|  で始まる  |  テキスト  | カテゴリ |  **[列]** の値が指定した値で始まる行をフィルタリングします。  | 
|  Ends with  |  カテゴリ  | カテゴリ |  **[列]** の値が指定した値で終わる行をフィルタリングします。  | 

フィルター操作を設定すると、SageMaker Canvas はデータセットのプレビューを更新して、フィルタリングしたデータを表示します。

![\[SageMaker Canvas アプリケーションのカスタム値の操作によるフィルタリングのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-filter-custom.png)


## 関数と演算子
<a name="canvas-prepare-data-custom-formula"></a>

関数と演算子を使用して、データを探索したり配布したりできます。SageMaker Canvas がサポートする関数を使用するか、既存のデータを使用して独自の式を作成し、数式の結果を使用して新しい列を作成することができます。例えば、2 つの列の対応する値を追加し、その結果を新しい列に保存できます。

ステートメントをネストして、より複雑な関数を作成できます。以下は、使用できるネストされた関数の例です。
+ `weight / (height ^ 2)`: BMI を計算するには、この関数を使用できます。
+ `Case(age < 18, 'child', age < 65, 'adult', 'senior')`: 年齢を分類するには、この関数を使用できます。

関数の指定は、モデルを構築する前のデータ準備段階で行えます。関数を使用するには、次の手順に従います。
+ SageMaker Canvas アプリケーションの **[ビルド]** タブで **[すべて表示]** を選択し、**[カスタム数式]** を選択して **[カスタム数式]** パネルを開きます。
+ **[カスタム数式]** パネルでは、**[モデルレシピ]** に追加する **[数式]** を選択できます。各数式は、指定した列のすべての値に適用されます。2 つ以上の列を引数として受け付ける数式では、データ型が同じ列を使用してください。データ型が異なる場合、新しい列にエラーや `null` 値が表示されます。
+ **[数式]** を指定したら、**[新しい列名]** フィールドに列名を追加します。SageMaker Canvas は、作成される新しい列にこの名前を使用します。
+ (オプション) **[プレビュー]** を選択して変換をプレビューします。
+ 関数を **[モデルレシピ]** に追加するには、**[追加]** を選択します。

SageMaker Canvas は、**[新しい列名]** で指定した名前を使用して新しい列を作成し、関数の結果をその列に保存します。**[モデルレシピ]** パネルでは、関数の表示や削除を行えます。

SageMaker Canvas は、以下の関数演算子をサポートしています。テキスト形式またはインライン形式のいずれかを使用して関数を指定できます。


| 演算子 | 説明 | サポートされているデータ型 | テキスト形式 | インライン形式 | 
| --- | --- | --- | --- | --- | 
|  Add  |  値の合計を返します  |  数値  | Add(sales1, sales2) | sales1 \$1 sales2 | 
|  Subtract  |  値の間の差を返します  |  数値  | Subtract(sales1, sales2) | sales1 ‐ sales2 | 
|  Multiply  |  値の乗算値を返します  |  数値  | Multiply(sales1, sales2) | sales1 \$1 sales2 | 
|  Divide  |  値の除算値を返します  |  数値  | Divide(sales1, sales2) | sales1 / sales2 | 
|  Mod  |  モジュロ演算の結果 (2 つの値を割った余り) を返します  |  数値  | Mod(sales1, sales2) | sales1 % sales2 | 
|  Abs  | 値の絶対値を返します |  数値  | Abs(sales1) | 該当なし | 
|  Negate  | 値の負の数値を返します |  数値  | Negate(c1) | ‐c1 | 
|  Exp  |  e (オイラー数) を底とする数値のべき乗値を返します  |  数値  | Exp(sales1) | 該当なし | 
|  Log  |  10 を底とする対数を返します  |  数値  | Log(sales1) | 該当なし | 
|  Ln  |  e を底とする自然対数を返します  |  数値  | Ln(sales1) | 該当なし | 
|  Pow  |  累乗に引き上げられた数値を返します  |  数値  | Pow(sales1, 2) | sales1 ^ 2 | 
|  If  |  指定した条件に基づいて true または false のラベルを返します  |  ブール値、数値、テキスト  | If(sales1>7000, 'truelabel, 'falselabel') | 該当なし | 
|  または  |  指定された値または条件のいずれかが当てはまるかどうかを示すブール値を返します  |  ブール値  | Or(fullprice, discount) | fullprice \$1\$1 discount | 
|  And  |  指定された 2 つの値または条件が当てはまるかどうかを示すブール値を返します  |  ブール値  | And(sales1,sales2) | sales1 && sales2 | 
|  Not  |  指定された値または条件に当てはまらないブール値を返します  |  ブール値  | Not(sales1) | \$1sales1 | 
|  ケース  |  条件ステートメントに基づいてブール値を返します (cond1 が true の場合は c1 を返し、cond2 が true の場合は c2 を返し、それ以外の場合は c3 を返します)  |  ブール値、数値、テキスト  | Case(cond1, c1, cond2, c2, c3) | 該当なし | 
|  Equal  |  2 つの値が等しいかどうかを示すブール値を返します  |  ブール値、数値、テキスト  | 該当なし | c1 = c2c1 == c2 | 
|  Not equal  |  2 つの値が等しくないかどうかを示すブール値を返します  |  ブール値、数値、テキスト  | 該当なし | c1 \$1= c2 | 
|  Less than  |  c1 が c2 より小さいかどうかを示すブール値を返します  |  ブール値、数値、テキスト  | 該当なし | c1 < c2 | 
|  Greater than  |  c1 が c2 より大きいかどうかを示すブール値を返します  |  ブール値、数値、テキスト  | 該当なし | c1 > c2 | 
|  Less than or equal  |  c1 が c2 より小さいまたは等しいかどうかを示すブール値を返します  |  ブール値、数値、テキスト  | 該当なし | c1 <= c2 | 
|  Greater than or equal  |  c1 が c2 より大きいまたは等しいかどうかを示すブール値を返します  |  ブール値、数値、テキスト  | 該当なし | c1 >= c2 | 

また SageMaker Canvas は、すべての値の合計を計算したり、列の最小値を求めたりするなどの操作を実行する集約演算子もサポートしています。関数では集約演算子と標準演算子を組み合わせて使用できます。例えば、`Abs(height – avg(height))` 関数を使用して平均値と値の差を計算することができます。SageMaker Canvas は、以下の集約演算子をサポートしています。


| 集約演算子 | 説明 | 形式 | 例 | 
| --- | --- | --- | --- | 
|  sum  |  列のすべての値の合計を返します  | sum | sum(c1) | 
|  minimum  |  列の最小値を返します。  | min | min(c2) | 
|  maximum  |  列の最大値を返します。  | max | max(c3) | 
|  average  |  列の平均値を返します。  | avg | avg(c4) | 
|  std  | 列のサンプル標準偏差を返します | std | std(c1) | 
|  stddev  | 列の標準偏差値を返します | stddev | stddev(c1) | 
|  分散  | 列の値の不偏分散を返します | 分散 | variance(c1) | 
|  approx\$1count\$1distinct  | 列内の固有のアイテムの概数を返します | approx\$1count\$1distinct | approx\$1count\$1distinct(c1) | 
|  count  | 列内のアイテムの数を返します | count | count(c1) | 
|  first  |  列の最初の値を返します  | first | first(c1) | 
|  last  |  列の最後の値を返します  | last | last(c1) | 
|  stddev\$1pop  | 列の母集団標準偏差を返します | stddev\$1pop | stddev\$1pop(c1) | 
|  variance\$1pop  |  列の値の母分散を返します  | variance\$1pop | variance\$1pop(c1) | 

## 行を管理する
<a name="canvas-prepare-data-manage"></a>

行の管理変換では、ソート、ランダムシャッフル、データセットからのデータ行の削除を行うことができます。

### 行のソート
<a name="canvas-prepare-data-manage-sort"></a>

データセット内の行を特定の列でソートするには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行の管理]** を選択し、次に **[行のソート]** を選択します。

1. **[ソート列]** で、ソートの基準にする列を選択します。

1. **[ソート順]** で、**[昇順]** または **[降順]** を選択します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

### 行のシャッフル
<a name="canvas-prepare-data-manage-shuffle"></a>

データセット内の行をランダムにシャッフルするには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行の管理]** を選択し、次に **[行のシャッフル]** を選択します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

### 重複した行のドロップ
<a name="canvas-prepare-data-manage-drop-duplicate"></a>

データセット内の重複行を削除するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行の管理]** を選択し、次に **[重複した行のドロップ]** を選択します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

### 欠損値による行の削除
<a name="canvas-prepare-data-remove-missing"></a>

欠落値は機械学習データセットで一般的に見られ、モデルの精度に影響を与えます。特定の列の null または空の値を含む行をドロップする場合、この変換を使用します。

指定した列にある欠損値を含む行を削除するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行の管理]** を選択します。

1. **[欠損値がある行をドロップ]** を選択します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

SageMaker Canvas は、選択した **[列]** の欠損値を含む行をドロップします。データセットから行を削除すると、SageMaker Canvas は **[モデルレシピ]** セクションに変換を追加します。**[モデルレシピ]** セクションから変換を削除すると、削除された行はデータセットに戻ります。

![\[SageMaker Canvas アプリケーションの欠損値による行の削除のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-remove-missing.png)


### 外れ値による行の削除
<a name="canvas-prepare-data-remove-outliers"></a>

外れ値 (データの分布や範囲内にまれな値) は、モデルの精度を低下させ、モデルの構築時間が長くなる可能性があります。SageMaker Canvas では、数値列の外れ値を含む行を検出して削除することができます。外れ値は、標準偏差またはカスタム範囲のいずれかで定義できます。

データから外れ値を削除するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行の管理]** を選択します。

1. **[外れ値がある行をドロップ]** を選択します。

1. 外れ値の有無を確認する **[列]** を選択します。

1. **[演算子]** を **[標準偏差]**、**[カスタム数値範囲]**、または **[カスタム分位数範囲]** に設定します。

1. **[標準偏差]** を選択した場合は、1～3 の **[標準偏差]** 値を指定します。**[カスタム数値範囲]** または **[カスタム分位数範囲]** を選択した場合は、**[最小値]** と **[最大値]** (数値範囲の場合は数値、分位範囲の場合は 0～100% のパーセント) を指定します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

**[標準偏差]** オプションでは、平均値と標準偏差を使用して数値列の外れ値を検出して削除します。値を外れ値と見なすために必要な平均値からの変化として、標準偏差の値を指定します。例えば、**[標準偏差]** に `3` を指定すると、外れ値と見なすためには、平均値から 3 標準偏差より低い値である必要があります。

**[カスタム数値範囲]** オプションと **[カスタム分位数範囲]** オプションでは、最小値と最大値を使用して数値列の外れ値を検出し削除します。外れ値を定義するしきい値がわかっている場合は、この方法を使用します。**[数値範囲]** を選択した場合、**[最小]** と [最大] には、データで許容する最小値と最大値を指定します。**[分位数範囲]** を選択した場合、**[最小]** と [最大] には、許容するパーセント範囲 (0～100) の最小値と最大値を指定します。

データセットから行を削除すると、SageMaker Canvas は **[モデルレシピ]** セクションに変換を追加します。**[モデルレシピ]** セクションから変換を削除すると、削除された行はデータセットに戻ります。

![\[SageMaker Canvas アプリケーションの外れ値による行の削除のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-remove-outlier.png)


### カスタム値による行の削除
<a name="canvas-prepare-data-remove-custom"></a>

カスタム条件を満たす値を含む行を削除できます。例えば、モデルを作成する際、価格値が 100 を超える行をすべて除外する場合です。この変換を使用すると、設定したしきい値を超える行をすべて削除するルールを作成できます。

カスタム削除変換を使用するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[行の管理]** を選択します。

1. **[数式で行をドロップ]** を選択します。

1. 確認する **[列]** を選択します。

1. 使用する **[操作]** タイプを選択して、選択した条件の値を指定します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

**[操作]** では、以下のオプションのいずれかを選択できます。使用できる操作は、選択する列のデータ型に応じて異なる場合があります。例えば、テキスト値を含む列には `is greater than` 操作は作成できません。


| 運用 | サポートされているデータ型 | サポート対象の特徴量タイプ | 機能 | 
| --- | --- | --- | --- | 
|  と等しい  |  数値、テキスト  |  バイナリ、カテゴリ  |  **[列]** の値が指定した値と等しい行を削除します。  | 
|  と等しくない  |  数値、テキスト  |  バイナリ、カテゴリ  |  **[列]** の値が指定した値と等しくない行を削除します。  | 
|  未満  |  数値  | 該当なし |  **[列]** の値が指定した値未満の行を削除します。  | 
|  未満または等しい  |  数値  | 該当なし |  **[列]** の値が指定した値未満または等しい行を削除します。  | 
|  以上  |  数値  | 該当なし |  **[列]** の値が指定した値以上の行を削除します。  | 
|  以上または等しい  | 数値 | 該当なし |  **[列]** の値が指定した値以上または等しい行を削除します。  | 
|  の間  | 数値 | 該当なし |  **[列]** の値が指定した 2 つの値の間または等しい行を削除します。  | 
|  を含む  |  テキスト  | カテゴリ |  **[列]** の値が指定した値を含む行を削除します。  | 
|  で始まる  |  テキスト  | カテゴリ |  **[列]** の値が指定した値で始まる行を削除します。  | 
|  Ends with  |  テキスト  | カテゴリ |  **[列]** の値が指定した値で終わる行を削除します。  | 

データセットから行を削除すると、SageMaker Canvas は **[モデルレシピ]** セクションに変換を追加します。**[モデルレシピ]** セクションから変換を削除すると、削除された行はデータセットに戻ります。

![\[SageMaker Canvas アプリケーションのカスタム値による行の削除のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-remove-custom.png)


## 列の名前変更
<a name="canvas-prepare-data-rename"></a>

列の名変更変換では、データ内の列の名前を変更できます。列の名前を変更すると、SageMaker Canvas はモデル入力の列の名前を変更します。

SageMaker Canvas アプリケーションの **[ビルド]** タブで列の名前をダブルクリックして新しい名前を入力すると、データセット内の列の名前を変更できます。**Enter** キーを押すと変更が送信され、入力以外の場所をクリックすると変更がキャンセルされます。リストビューの行の最後、またはグリッドビューのヘッダーセルの最後にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) をクリックし、**[名前の変更]** を選択して列の名前を変更することもできます。

列名は 32 文字以内で、連続したアンダースコア (\$1\$1) は使用できません。また、列の名前を別の列と同じ名前に変更することもできません。ドロップした列の名前を変更することもできません。

次のスクリーンショットは、列名をダブルクリックして列の名前を変更する方法を示しています。

![\[SageMaker Canvas アプリケーションのダブルクリックによる列名の変更のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-rename-column.png)


列の名前を変更すると、SageMaker Canvas は **[モデルレシピ]** セクションに変換を追加します。**[モデルレシピ]** セクションから変換を削除すると、列は元の名前に戻ります。

## 列の管理
<a name="canvas-prepare-data-manage-cols"></a>

次の変換では、列のデータ型を変更したり、特定の列の欠損値や外れ値を置換したりできます。SageMaker Canvas はモデルの構築時に更新されたデータ型または値を使用しますが、元のデータセットを変更することはありません。[列をドロップする](#canvas-prepare-data-drop) 変換を使用してデータセットから列をドロップした場合、その列の値を置換することはできないことに注意してください。

### 欠損値の置換
<a name="canvas-prepare-data-replace-missing"></a>

欠落値は機械学習データセットで一般的に見られ、モデルの精度に影響を与えます。欠損値のある行をドロップすることもできますが、欠損値を置換する方がモデルの精度は高くなります。この変換では、数値列の欠損値を列内のデータの平均または中央値で置換できます。また、欠損値を置換するカスタム値を指定することもできます。数値以外の列では、欠損値を列のモード (最も一般的な値) またはカスタム値で置換できます。

特定の列の null または空の値を含む行を置換する場合、この変換を使用します。指定した列にある欠損値を含む行を置換するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[列の管理]** を選択します。

1. **[欠損値の置換]** を選択します。

1. 欠損値を置換する **[列]** を選択します。

1. **[モード]** を **[手動]** に設定して、欠損値を指定した値で置換します。**[自動 (デフォルト)]** 設定では、SageMaker Canvas は欠損値をデータに最も適合する代入値で置換します。**[手動]** モードに設定しない限り、この置換はモデル構築のたびに自動的に実行されます。

1. **[この値で置換]** の値を設定します。
   + 列が数値の場合は、**[平均]**、**[中央値]**、または **[カスタム]** を選択します。**[平均]** は欠損値を列の平均値で置換し、**[中央値]** は欠損値を列の中央値で置換します。**[カスタム]** を選択した場合は、欠損値の置換に使用するカスタム値を指定する必要があります。
   + 列が数値以外の場合は、**[モード]** または **[カスタム]** を選択します。**[モード]** は、欠損値をモード、つまり列の最も一般的な値で置換します。**[カスタム]** では、欠損値の置換に使用するカスタム値を指定します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

データセットの欠損値を置換すると、SageMaker Canvas は **[モデルレシピ]** セクションに変換を追加します。**[モデルレシピ]** セクションから変換を削除すると、欠損値はデータセットに戻ります。

![\[SageMaker Canvas アプリケーションの欠損値の置換のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-replace-missing.png)


### 外れ値の置換
<a name="canvas-prepare-data-replace-outliers"></a>

外れ値 (データの分布や範囲内にまれな値) は、モデルの精度を低下させ、モデルの構築時間が長くなる可能性があります。SageMaker Canvas では、数値列の外れ値を検出し、その外れ値をデータ内の許容範囲内の値で置換することができます。外れ値は標準偏差またはカスタム範囲のいずれかで定義でき、外れ値は許容範囲内の最小値と最大値で置換することができます。

データで外れ値を置換するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[列の管理]** を選択します。

1. **[外れ値の置換]** を選択します。

1. 外れ値を置換する **[列]** を選択します。

1. **[外れ値の定義]** で、**[標準偏差]**、**[カスタム数値範囲]**、または **[カスタム分位数範囲]** を選択します。

1. **[標準偏差]** を選択した場合は、1～3 の **[標準偏差]** 値を指定します。**[カスタム数値範囲]** または **[カスタム分位数範囲]** を選択した場合は、**[最小値]** と **[最大値]** (数値範囲の場合は数値、分位範囲の場合は 0～100% のパーセント) を指定します。

1. **[この値で置換]** で、**[最小/最大範囲]** を選択します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

**[標準偏差]** オプションでは、平均値と標準偏差を使用して数値列の外れ値を検出します。値を外れ値と見なすために必要な平均値からの変化として、標準偏差の値を指定します。例えば、**[標準偏差]** に 3 を指定すると、外れ値と見なすためには、平均値から 3 標準偏差より低い値である必要があります。SageMaker Canvas は外れ値を許容範囲内の最小値または最大値で置換します。例えば、200～300 の値のみを含むように標準偏差を設定すると、SageMaker Canvas は 198 の値を 200 (最小値) に変更します。

**[カスタム数値範囲]** オプションと **[カスタム分位数範囲]** オプションでは、最小値と最大値を使用して数値列の外れ値を検出します。外れ値を定義するしきい値がわかっている場合は、この方法を使用します。**[数値範囲]** を選択した場合、**[最小]** と [最大] には、許容する最小値と最大値を指定します。SageMaker Canvas は、最小値と最大値の範囲外のすべての値を最小値と最大値で置換します。例えば、範囲で 1 から 100 までの値しか使用できない場合、SageMaker Canvas は 102 の値を 100 (最大値) に変更します。**[分位数範囲]** を選択した場合、**[最小]** と [最大] には、許容するパーセント範囲 (0～100) の最小値と最大値を指定します。

データセットの値を置換すると、SageMaker Canvas は **[モデルレシピ]** セクションに変換を追加します。**[モデルレシピ]** セクションから変換を削除すると、外れ値はデータセットに戻ります。

![\[SageMaker Canvas アプリケーションの外れ値の置換のスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-replace-outlier.png)


### データ型の変更
<a name="canvas-prepare-data-change-type"></a>

SageMaker Canvas では、列の*データ型*を数値、テキスト、datetime の間で変更できると同時に、そのデータ型に関連する*特徴量タイプ*も表示できます。*データ型*はデータの形式と保存方法を指し、特徴型は機械学習アルゴリズムで使用されるデータの特性 (バイナリやカテゴリなど) を指します。これにより、特徴量に基づいて列内のデータ型を手動で柔軟に変更できます。適切なデータ型を選択できるため、モデルを構築する前にデータの整合性と正確性が確保されます。これらのデータ型はモデルを構築する際に使用されます。

**注記**  
現在、特徴量タイプの変更 (バイナリからカテゴリへの変更など) はサポートされていません。

次の表に、サポートされているすべてのデータ型を示します。


| データ型 | 説明 | 例 | 
| --- | --- | --- | 
| 数値 | 数値データは数値を表します | 1、2、31.1、1.2 1.3 | 
| テキスト | テキストデータは、名前や説明などの一連の文字を表します | A、B、C、Dりんご、バナナ、オレンジ1A\$1、2A\$1、3A\$1 | 
| Datetime | Datetime データは、日付と時刻をタイムスタンプ形式で表します。 | 2019-07-01 01:00:00, 2019-07-01 02:00:00, 2019-07-01 03:00:00 | 

次の表に、サポートされているすべての特徴量を示します。


| 特徴量タイプ | 説明 | 例 | 
| --- | --- | --- | 
| バイナリ | バイナリ特徴量は可能な 2 つの値を表します | 0、1、0、1、0 (2 つの異なる値)真、偽、真 (2 つの異なる値) | 
| カテゴリ | カテゴリ特徴量は異なるカテゴリまたはグループを表します | りんご、バナナ、オレンジ、リンゴ (3 つの異なる値)A、B、C、D、E、A、D、C (5 つの異なる値) | 

データセットの列のデータ型を変更するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[列]** ビューまたは **[グリッド]** ビューに移動して、特定の列の **[データ型]** ドロップダウンを選択します。

1. **[データ型]** ドロップダウンで、変換先のデータ型を選択します。次のスクリーンショットは、ドロップダウンメニューを示しています。  
![\[[ビルド] タブに表示される、列のデータ型変換ドロップダウンメニュー。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-prepare-data-change.png)

1. **[列]** で、データ型を変更する列を選択するか確認します。

1. **[新しいデータ型]** で、変換する新しいデータ型を選択または確認します。

1. **[新しいデータ型**] が `Datetime` または `Numeric` の場合は、**[無効な値の処理]** で以下のいずれかのオプションを選択します。

   1. **[空の値で置換]** — 無効な値を空の値で置換します

   1. **[行を削除]** — 値が無効な行をデータセットから削除します

   1. **[カスタム値で置換]** — 無効な値を指定した **[カスタム値]** で置換します。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

これで、列のデータ型が更新されます。

## 時系列データの準備
<a name="canvas-prepare-data-timeseries"></a>

以下の機能を使用して、時系列予測モデルを構築するための時系列データを準備します。

### 時系列データを再サンプリングする
<a name="canvas-prepare-data-resample"></a>

時系列データを再サンプリングすると、時系列データセット内の観測値の一定間隔を設定できます。これは、不規則な間隔の観測値を含む時系列データを扱う場合に特に便利です。例えば、再サンプリングを使用して、1 時間、2 時間、3 時間ごとに記録された観測値を含むデータセットを、観測間の通常の 1 時間間隔に変換できます。予測アルゴリズムでは、観測値を一定の間隔で取得する必要があります。

時系列データを再サンプリングするには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブで、**[時系列]** を選択します。

1. **[再サンプリング]** を選択します。

1. **[タイムスタンプ列]** では、変換を適用する列を選択します。選択できるのは **Datetime** タイプの列だけです。

1. **[頻度設定]** セクションで、**[頻度]** と **[レート]** を選択します。**[頻度]** は頻度の単位、**[レート]** は列に適用される頻度単位の間隔です。例えば、**[頻度値]** に `Calendar Day` を、**[レート]** に `1` を設定すると、`2023-03-26 00:00:00`、`2023-03-27 00:00:00`、`2023-03-28 00:00:00` などのように間隔が 1 カレンダー日になります。**[頻度値]** の完全なリストについては、この手順の後の表を参照してください。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

次の表に、時系列データを再サンプリングする際に選択できるすべての **[頻度]** タイプを示します。


| 頻度 | 説明 | 値の例 (レートが 1 の場合) | 
| --- | --- | --- | 
|  営業日  |  datetime 列の観測値を週 5 営業日 (月曜日、火曜日、水曜日、木曜日、金曜日) に再サンプリングします。  |  2023-03-24 00:00:00 2023-03-27 00:00:00 2023-03-28 00:00:00 2023-03-29 00:00:00 2023-03-30 00:00:00 2023-03-31 00:00:00 2023-04-03 00:00:00  | 
|  曜日  |  datetime 列の観測値を週の 7 曜日 (月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日) に再サンプリングします。  |  2023-03-26 00:00:00 2023-03-27 00:00:00 2023-03-28 00:00:00 2023-03-29 00:00:00 2023-03-30 00:00:00 2023-03-31 00:00:00 2023-04-01 00:00:00  | 
|  週  |  datetime 列の観測値を各週の最初の日に再サンプリングします。  |  2023-03-13 00:00:00 2023-03-20 00:00:00 2023-03-27 00:00:00 2023-04-03 00:00:00  | 
|  月  |  datetime 列の観測値を各月の最初の日に再サンプリングします。  |  2023-03-01 00:00:00 2023-04-01 00:00:00 2023-05-01 00:00:00 2023-06-01 00:00:00  | 
|  年次四半期  |  datetime 列の観測値を各四半期の最後の日に再サンプリングします。  |  2023-03-31 00:00:00 2023-06-30 00:00:00 2023-09-30 00:00:00 2023-12-31 00:00:00  | 
|  年  |  datetime 列の観測値を各年の最後の日に再サンプリングします。  |  2022-12-31 0:00:00 2023-12-31 00:00:00 2024-12-31 00:00:00  | 
|  時  |  datetime 列の観測値を各日の各時に再サンプリングします。  |  2023-03-24 00:00:00 2023-03-24 01:00:00 2023-03-24 02:00:00 2023-03-24 03:00:00  | 
|  分  |  datetime 列の観測値を各時の各分に再サンプリングします。  |  2023-03-24 00:00:00 2023-03-24 00:01:00 2023-03-24 00:02:00 2023-03-24 00:03:00  | 
|  秒  |  datetime 列の観測値を各分の各秒に再サンプリングします。  |  2023-03-24 00:00:00 2023-03-24 00:00:01 2023-03-24 00:00:02 2023-03-24 00:00:03  | 

再サンプリング変換を適用する場合、**[詳細]** オプションを使用して、データセット内の残りの列 (タイムスタンプ列以外) の結果値をどのように変更するかを指定できます。これは、再サンプリング方法を指定することで実現できます。リサンプリング方法では、数値列と非数値列の両方をダウンサンプリングまたはアップサンプリングできます。

*ダウンサンプリング*は、データセットの観測値の間隔を大きくします。例えば、1 時間ごとまたは 2 時間ごとに取得される観測値をダウンサンプリングすると、データセット内の各観測値は 2 時間ごとに取得されます。時間単位の観測値の他の列の値は、組み合わせ方法を使用して単一の値に集約されます。次の表は、平均値を組み合わせ方法として使用し、時系列データをダウンサンプリングする例を示しています。データは 2 時間ごとから 1 時間ごとにダウンサンプリングされます。

次の表は、ダウンサンプリングを行う前の 1 日の 1 時間ごとの温度測定値を示しています。


| タイムスタンプ | 温度 (摂氏) | 
| --- | --- | 
| 12:00 pm | 30 | 
| 1:00 am | 32 | 
| 2:00 am | 35 | 
| 3:00 am | 32 | 
| 4:00 am | 30 | 

次の表は、2 時間ごとでダウンサンプリングした後の温度測定値を示しています。


| タイムスタンプ | 温度 (摂氏) | 
| --- | --- | 
| 12:00 pm | 30 | 
| 2:00 am | 33.5 | 
| 2:00 am | 35 | 
| 4:00 am | 32.5 | 

時系列データをダウンサンプリングするには、次の手順に従います。

1. **[再サンプリング]** 変換の **[詳細]** セクションを展開します。

1. 非数値列の組み合わせ方法を指定するには、**[非数値の組み合わせ]** を選択します。組み合わせ方法のリストについては、以下の表を参照してください。

1. 数値列の組み合わせ方法を指定するには、**[数値の組み合わせ]** を選択します。組み合わせ方法のリストについては、以下の表を参照してください。

組み合わせ方法を指定しない場合、デフォルト値は **[非数値の組み合わせ]** では `Most Common` に、**[数値の組み合わせ]** では `Mean` になります。次の表は、数値と非数値の組み合わせの方法を示しています。


| ダウンサンプリング法 | 組み合わせ法 | 説明 | 
| --- | --- | --- | 
| 非数値組み合わせ | 最も一般的 | 数値以外の列の値を最も頻繁に出現する値で集計します | 
| 非数値組み合わせ | 最後 | 数値以外の列の値を列の最後の値で集計します | 
| 非数値組み合わせ | 最初 | 数値以外の列の値を列の最初の値で集計します | 
| 非数値組み合わせ | 平均 | 数値列のすべての値の平均値をとることで数値列の値を集計します | 
| 非数値組み合わせ | 中央値 | 数値列のすべての値の中央値をとることで数値列の値を集計します | 
| 非数値組み合わせ | 最小 | 数値列のすべての値の最小値をとることで数値列の値を集計します | 
| 非数値組み合わせ | 最大 | 数値列のすべての値の最大値をとることで数値列の値を集計します | 
| 非数値組み合わせ | 合計 | 数値列のすべての値を合計することで数値列の値を集計します | 
| 非数値組み合わせ | 分位数 | 数値列のすべての値の分位数値をとることで数値列の値を集計します | 

*アップサンプリング*は、データセットの観測値の間隔を小さくします。例えば、2 時間ごとに取得される観測値を 1 時間ごとに取得される観測値にアップサンプリングする場合、補間法を使用して 2 時間ごとに取得された観測値から 1 時間ごとに取得される観測値を推測できます。

時系列データをアップサンプリングするには、次の手順に従います。

1. **[再サンプリング]** 変換の **[詳細]** セクションを展開します。

1. **[非数値の推定]** を選択して、非数値列の推定方法を指定します。推定方法の完全なリストについては、この手順の後の表を参照してください。

1. **[数値の推定]** を選択して、数値列の推定方法を指定します。推定方法の完全なリストについては、次の表を参照してください。

1. (オプション) **[ID 列]** を選択して、時系列の観測値の ID を含む列を指定します。データセットに 2 つの時系列がある場合は、このオプションを指定します。時系列を表す列が 1 つだけの場合は、このフィールドに値を指定しないでください。例えば、`id` 列と `purchase` 列を含むデータセットを使用する場合があります。`id` 列には `[1, 2, 2, 1]` の値があり、`purchase` 列には `[$2, $3, $4, $1]` の値があります。したがって、このデータセットには 2 つの時系列があります。1 つの時系列は `1: [$2, $1]` で、もう 1 つの時系列は `2: [$3, $4]` です。

推定方法を指定しない場合、デフォルト値は **[非数値の推定]** では `Forward Fill` に、**[数値の推定]** では `Linear` になります。次の表に推定方法の一覧を示します。


| アップサンプリング法 | 推定方法 | 説明 | 
| --- | --- | --- | 
| 非数値の推定 | フォワードフィル | 列のすべての値の後に連続する値をとって、非数値列の値を補間します | 
| 非数値の推定 | バックワードフィル | 列のすべての値の前に連続する値をとって、非数値列の値を補間します | 
| 非数値の推定 | 欠損値の維持 | 空の値を表示して、非数値列の値を補間します | 
| 数値の推定 | 線形、時間、インデックス、ゼロ、S-線形、近似、2 次、キュービック、重心、多項式、クロー、区分的多項式、スプライン、Pチップ、アキマ、キュービックスプライン、微分推定 | 指定した補間方法で、数値列の値を補間します 補間法の詳細については、pandas ドキュメントの「[pandas.DataFrame.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)」を参照してください。 | 

次のスクリーンショットは、ダウンサンプリングとアップサンプリングのフィールドが入力された**[詳細]** 設定を示しています。

![\[時系列再サンプリングのサイドパネルに詳細オプションが表示されている Canvas アプリケーション。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-prepare-data-resampling.png)


### datetime 抽出の使用
<a name="canvas-prepare-data-datetime"></a>

datetime 抽出変換を使用すると、datetime 列から別の列に値を抽出できます。例えば、購入日を含む列がある場合、月の値を別の列に抽出し、その新しい列を使用してモデルを作成できます。また、1 回の変換で複数の値を抽出して別々の列にすることもできます。

datetime 列には、サポートされているタイムスタンプ形式を使用する必要があります。SageMaker Canvas がサポートする形式のリストについては、「[Amazon SageMaker Canvas の時系列予測](canvas-time-series.md)」を参照してください。データセットでサポートされている形式が使用されていない場合は、モデルを構築する前に、サポートされているタイムスタンプ形式を使用するようにデータセットを更新し、Amazon SageMaker Canvas に再インポートします。

datetime 抽出を実行するには、次の手順に従います。

1. SageMaker Canvas アプリケーションの **[ビルド]** タブの変換バーで、**[すべて表示]** を選択します。

1. **[特徴を抽出]** を選択します。

1. 値を抽出する **[タイムスタンプ]** 列を選択します。

1. **[値]** で、列から抽出する値を 1 つ以上選択します。タイムスタンプ列から抽出できる値は、**[年]**、**[月]**、**[日]**、**[時間]**、**[週]**、**[曜日]**、**[四半期]** です。

1. (オプション) **[プレビュー]** を選択して変換結果をプレビューします。

1. **[追加]** を選択して、**[モデルレシピ]** に変換を追加します。

SageMaker Canvas は、抽出した値ごとにデータセットに新しい列を作成します。**[年]** の値を除いて、SageMaker Canvas は抽出された値に 0 ベースのエンコーディングを使用します。例えば、**[月]** の値を抽出すると、1 月は 0 として抽出され、2 月は 1 として抽出されます。

![\[SageMaker Canvas アプリケーションの datetime 抽出ボックスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-datetime-extract.png)


変換は **[モデルレシピ]** セクションに一覧表示されます。**[モデルレシピ]** セクションから変換を削除すると、新しい列はデータセットにから削除されます。

# モデル評価
<a name="canvas-evaluate-model"></a>

モデルの作成後にモデルを使用した予測を行う前に、モデルのパフォーマンスを評価できます。ラベルを予測する際のモデルの精度や高度なメトリクスなどの情報を使用して、モデルがデータに対して十分に正確な予測を行えるかどうかを判断できます。

「[モデルのパフォーマンスを評価する](canvas-scoring.md)」のセクションでは、モデルの **[分析]** ページで情報を表示および解釈する方法について説明します。「[分析で高度なメトリクスを使用する](canvas-advanced-metrics.md)」のセクションには、モデルの精度を定量化するために使用される**高度なトメトリクス**に関する詳細情報が含まれています。

特定の*モデル候補*のより詳細な情報を表示することもできます。これは、Canvas がモデルの構築中に実行するすべてのモデル反復です。特定のモデル候補の高度なメトリクスに基づいて、デフォルトとなる別の候補、または予測の作成とデプロイに使用されるバージョンを選択できます。モデル候補ごとに、**高度なメトリクス**情報を表示して、デフォルトとして選択するモデル候補の決定に役立てることができます。この情報を表示するには、**モデルリーダーボード**からモデル候補を選択します。詳細については、「[モデルリーダーボードでモデル候補を表示する](canvas-evaluate-model-candidates.md)」を参照してください。

Canvas には、モデルの構築に使用されるコードを表示して実行できるように、Jupyter Notebook をダウンロードするオプションもあります。これは、コードを調整したり、モデルの構築方法の詳細を確認したりする場合に役立ちます。詳細については、「[モデルノートブックをダウンロードする](canvas-notebook.md)」を参照してください。

# モデルのパフォーマンスを評価する
<a name="canvas-scoring"></a>

Amazon SageMaker Canvas には、さまざまなタイプのモデルの概要とスコアリング情報が表示されます。モデルのスコアは、予測を行う際のモデルの精度を判断するのに役立ちます。スコアに関するその他のインサイトは、実際の値と予測値の違いを定量化するのに役立ちます。

モデルの分析結果を表示するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. 構築したモデルを選択します。

1. ナビゲーションペインで、**[分析]** タブを選択します。

1. **[分析]** タブには、モデルの概要とスコアリング情報が表示されます。

以下のセクションでは、モデルタイプに応じてスコアリングを評価する方法について説明します。

## カテゴリ予測モデルの評価
<a name="canvas-scoring-categorical"></a>

**[概要]** タブには、各列の列の影響が表示されます。**[列の影響]** は、ある列が他の列と比較して、予測を行う上でどれだけの重みを持っているかを示すパーセンテージスコアです。列の影響が 25% である場合、Canvas はその列の予測に 25% の重みを付け、その他の列には 75% の重みを付けます。

次のスクリーンショットは、モデルの **[精度]** スコアと、モデルの構築時に最適化のメトリクスとして選択する **[最適化メトリクス]** を示しています。このケースの **[最適化メトリクス]** は **[精度]** です。モデルの新しいバージョンを構築する場合は、別の最適化メトリクスを指定できます。

![\[Canvas の [分析] タブの精度スコアと最適化メトリクスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-category.png)


カテゴリ予測モデルの **[スコアリング]** タブでは、すべての予測を視覚化できます。線分はページの左から伸びており、モデルによって行われたすべての予測を示します。ページの中央では、線分が垂直セグメントに収束し、1 つのカテゴリに対する各予測の比率を示します。予測されたカテゴリから、線分は実際のカテゴリに分岐します。予測されたカテゴリから実際のカテゴリまでの各線分をたどれば、予測の正確さを視覚的に把握できます。

以下の図は、**[3\$1 カテゴリ予測]** モデルの **[スコアリング]** セクションの例です。

![\[3+ カテゴリ予測モデルの [スコアリング]] タブのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-analyze/canvas-multiclass-classification.png)


**[高度なメトリクス]** タブを表示して、高度なメトリクス、誤差の密度プロット、混同行列など、モデルのパフォーマンスに関する詳細情報を確認することもできます。**[高度なメトリクス]** タブの詳細については、「[分析で高度なメトリクスを使用する](canvas-advanced-metrics.md)」を参照してください。

## 数値予測モデルの評価
<a name="canvas-scoring-numeric"></a>

**[概要]** タブには、各列の列の影響が表示されます。**[列の影響]** は、ある列が他の列と比較して、予測を行う上でどれだけの重みを持っているかを示すパーセンテージスコアです。列の影響が 25% である場合、Canvas はその列の予測に 25% の重みを付け、その他の列には 75% の重みを付けます。

次のスクリーンショットは、**[概要]** タブのモデルの **[RMSE]** スコアを示しています (この場合は **[最適化メトリクス]**)。**[最適化メトリクス]** は、モデルを構築する際の最適化のために選択するメトリクスです。モデルの新しいバージョンを構築する場合は、別の最適化メトリクスを指定できます。

![\[Canvas の [分析] タブの RMSE 最適化メトリクスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-numeric.png)


数値予測の **[スコアリング]** タブには、予測に使用されたデータに対するモデルの予測値を示す線が表示されます。数値予測の値は、多くの場合、RMSE (二乗平均平方根誤差) の \$1/- 値になります。多くの場合、モデルが予測する値は RMSE の範囲内の値になります。線分の周りの紫色の帯の幅は、RMSE の範囲を示します。多くの場合、予測値は範囲内に収まります。

以下の画像は、数値予測の **[スコアリング]** セクションを示しています。

![\[数値予測モデルの [スコアリング]] タブのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-analyze/canvas-analyze-regression-scoring.png)


**[高度なメトリクス]** タブを表示して、高度なメトリクス、誤差の密度プロット、混同行列など、モデルのパフォーマンスに関する詳細情報を確認することもできます。**[高度なメトリクス]** タブの詳細については、「[分析で高度なメトリクスを使用する](canvas-advanced-metrics.md)」を参照してください。

## 時系列予測モデルの評価
<a name="canvas-scoring-time-series"></a>

時系列予測モデルの **[分析]** ページでは、モデルのメトリクスの概要を確認できます。各メトリクスにカーソルを合わせると、詳細が表示されます。または、「[分析で高度なメトリクスを使用する](canvas-advanced-metrics.md)」を参照して各メトリクスに関する詳細情報を確認することもできます。

**[列の影響]** セクションでは、各列のスコアを確認できます。**[列の影響]** は、ある列が他の列と比較して、予測を行う上でどれだけの重みを持っているかを示すパーセンテージスコアです。列の影響が 25% である場合、Canvas はその列の予測に 25% の重みを付け、その他の列には 75% の重みを付けます。

次のスクリーンショットは、モデルの時系列メトリクススコアと、モデルの構築時に最適化のメトリクスとして選択する **[最適化メトリクス]** を示しています。このケースの **[最適化メトリクス]** は **RMSE** です。モデルの新しいバージョンを構築する場合は、別の最適化メトリクスを指定できます。これらのメトリクススコアはバックテスト結果から取得されます。結果は **[アーティファクト]** タブでダウンロードできます。

![\[Canvas の [分析] タブの RMSE 最適化メトリクスのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-time-series.png)


**[アーティファクト]** タブでは、モデルのパフォーマンスをより深く掘り下げ、反復するために使用できるいくつかの主要なリソースにアクセスできます。
+ **シャッフルされたトレーニングと検証の分割** – このセクションには、データセットがトレーニングと検証のセットに分割されたときに生成されたアーティファクトへのリンクが含まれているため、データ分布と潜在的なバイアスを確認できます。
+ **バックテスト結果** – このセクションには、モデルの精度メトリクスと評価データを生成するために使用される検証データセットの予測値へのリンクが含まれています。
+ **精度メトリクス** – このセクションには、二乗平均平方根誤差 (RMSE) など、モデルのパフォーマンスを評価する高度なメトリクスが一覧表示されます。各メトリクスの詳細については、「[時系列予測のメトリクス](canvas-metrics.md#canvas-time-series-forecast-metrics)」を参照してください。
+ **説明可能性レポート** – このセクションは、説明可能性レポートをダウンロードするためのリンクを提供します。このレポートは、モデルの意思決定プロセスと入力列の相対的な重要度に関するインサイトを提供します。このレポートは、潜在的な改善分野を特定するのに役立ちます。

**[分析]** ページでは、**[ダウンロード]** ボタンを選択して、バックテスト結果、精度メトリクス、説明可能性レポートのアーティファクトをローカルマシンに直接ダウンロードすることもできます。

## 画像予測モデルの評価
<a name="canvas-scoring-image"></a>

**[概要]** タブには、**[ラベルごとのパフォーマンス]** が表示され、各ラベルで予測された画像の全体的な精度スコアがわかります。ラベルを選択すると、そのラベルの **[正しく予測された]** 画像や **[正しく予測されなかった]** 画像など、より具体的な詳細を確認できます。

**[ヒートマップ]** トグルをオンにすると、各画像のヒートマップが表示されます。ヒートマップには、モデルが予測を行う際に最も影響の大きい関心領域が表示されます。ヒートマップの詳細と、ヒートマップを使用してモデルを改善する方法については、**[ヒートマップ]** トグルの横にある **[詳細]** アイコンを選択してください。

単一ラベルの画像予測モデルの **[スコアリング]** タブには、モデルが予測したラベルと、実際のラベルとの比較が表示されます。一度に最大 10 件を選択できます。視覚化内のラベルを変更するには、ラベルドロップダウンメニューを選択して、ラベルを選択または選択解除します。

**[モデル精度のインサイト]** セクションの **[スコアの表示対象]** ドロップダウンメニューを選択すると、精度が最も高い、または最も低い 3 つのラベルなど、個々のラベルまたはラベルグループのインサイトを表示することもできます。

次のスクリーンショットは、単一ラベルの画像予測モデルの **[スコアリング]** 情報を示しています。

![\[マルチカテゴリテキスト予測モデルの [スコアリング] ページの実際のラベルと予測されたラベル。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/analyze-image-scoring.png)


## テキスト予測モデルの評価
<a name="canvas-scoring-text"></a>

**[概要]** タブには、**[ラベルごとのパフォーマンス]** が表示され、各ラベルで予測されたテキストの全体的な精度スコアがわかります。ラベルを選択すると、そのラベルの **[正しく予測された]** テキストや **[正しく予測されなかった]** テキストなど、より具体的な詳細を確認できます。

マルチカテゴリテキスト予測モデルの **[スコアリング]** タブには、モデルが予測したラベルと、実際のラベルとの比較が表示されます。

**[モデル精度のインサイト]** セクションには、**[最も頻度の高いカテゴリ]** が表示されます。これにより、モデルが最も頻繁に予測したカテゴリと、それらの予測の精度がわかります。モデルが **[ポジティブ]** のラベルを 99% 正確に予測できれば、そのモデルはテキスト内のポジティブなセンチメントを予測するのに十分優れていると言えます。

次のスクリーンショットは、マルチカテゴリテキスト予測モデルの **[スコアリング]** 情報を示しています。

![\[単一ラベル画像予測モデルの [スコアリング] ページの実際のラベルと予測されたラベル。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/analyze-text-scoring.png)


# 分析で高度なメトリクスを使用する
<a name="canvas-advanced-metrics"></a>

次のセクションでは、Amazon SageMaker Canvas でモデルの高度なメトリクスを検索して解釈する方法について説明します。

**注記**  
高度なメトリクスは現在、数値予測モデルとカテゴリ予測モデルでのみ使用できます。

**[高度なメトリクス]** タブを検索するには、以下を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. 構築したモデルを選択します。

1. ナビゲーションペインで、**[分析]** タブを選択します。

1. **[分析]** タブで、**[高度なメトリクス]** タブを選択します。

**[高度なメトリクス]** タブには、**[パフォーマンス]** タブがあります。次のスクリーンショットのようなページが表示されます。

![\[カテゴリ予測モデルの [高度なメトリクス] タブのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-analyze-performance.png)


上部には、**[最適化メトリクス]** を含むメトリクススコアの概要が表示されます。これは、モデルの構築時に最適化するために選択した (またはデフォルトで Canvas が選択した) メトリクスです。

次の各セクションでは、**[高度なトメトリクス]** 内の **[パフォーマンス]** タブの詳細について説明します。

## パフォーマンス
<a name="canvas-advanced-metrics-performance"></a>

**[パフォーマンス]** タブには、**[メトリクステーブル]** と、Canvas がモデルタイプに基づいて作成する視覚化が表示されます。カテゴリ予測モデルの場合、Canvas では*混同行列*を表示しますが、数値予測モデルの場合には、*残差*と*誤差密度*のグラフを表示します。

**[メトリクステーブル]** には、それぞれの高度なメトリクスのモデルのスコアを含む完全なリストが表示されます。これは、ページ上部のスコアの概要よりも包括的です。ここに表示されるメトリクスは、モデルタイプによって異なります。各メトリクスを理解して解釈するためのリファレンスについては、「[メトリクスのリファレンス](canvas-metrics.md)」を参照してください。

モデルタイプに基づいて表示される可能性のある視覚化について理解するには、次のオプションを参照してください。
+ **混同行列** – Canvas では混同行列を使用して、モデルが予測を正しく行うタイミングを視覚化できるようにします。混同行列では、予測値を実際の値と比較して結果を表示します。次の例は、ポジティブラベルとネガティブラベルを予測する 2 カテゴリ予測モデルで混同行列がどのように機能するかを説明しています。
  + 真陽性 — 真のラベルが陽性の場合、モデルは陽性を正しく予測しました。
  + 真陰性 — 真のラベルが陰性の場合、モデルは陰性を正しく予測しました。
  + 偽陽性 — 真のラベルが陰性の場合、モデルは陽性を誤って予測しました。
  + 偽陰性 — 真のラベルが陽性の場合、モデルは陰性を誤って予測しました。
+ **精度再現率曲線** – 精度再現率曲線は、モデルの再現率スコアに対してプロットされたモデルの精度スコアを視覚化したものです。一般的に、完璧な予測ができるモデルでは、精度スコアと再現率スコアの両方が 1 になります。かなり正確なモデルの精度再現率曲線は、精度と再現率の両方がかなり高くなります。
+ **残差** – 残差は、実際の値とモデルが予測した値の差です。残差グラフは、残差を対応する値に対してプロットし、分布とパターンまたは外れ値を視覚化します。ゼロ付近の残差の正規分布は、モデルがデータに適していることを示します。ただし、残差が著しく歪んでいるか、外れ値がある場合は、モデルのデータがオーバーフィットしているか、対処する必要があるその他の問題が存在することを示している可能性があります。
+ **エラー密度** – エラー密度プロットは、モデルによる誤差の分布を表します。これは、各ポイントの誤差の確率密度を示し、モデルがオーバーフィットしているか、体系的な誤差を発生させている可能性のある領域を特定するのに役立ちます。

# モデルリーダーボードでモデル候補を表示する
<a name="canvas-evaluate-model-candidates"></a>

Amazon SageMaker Canvas で表形式および時系列予測モデルの[標準ビルド](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)を実行すると、SageMaker AI は複数の*モデル候補* (モデルの異なるイテレーション) をトレーニングし、デフォルトで最適化メトリクスの値が最も高いモデルを選択します。表形式モデルの場合、Canvas はさまざまなアルゴリズムとハイパーパラメータ設定を使用して最大 250 の異なるモデル候補を構築します。時系列予測モデルの場合、Canvas は 7 つの異なるモデルを構築します。[サポートされている予測アルゴリズム](canvas-advanced-settings.md#canvas-advanced-settings-time-series)ごとに 1 つのモデルと、他のモデルの予測を平均化して精度を最適化するための 1 つのアンサンブルモデルが作成されます。

デフォルトのモデル候補は、予測の作成、モデルレジストリへの登録、エンドポイントへのデプロイなどのアクションに対して Canvas で使用できる唯一のバージョンです。ただし、すべてのモデル候補を確認し、デフォルトのモデルとして別の候補を選択することもできます。Canvas の**モデル リーダーボード**では、すべてのモデル候補と各候補に関する詳細を確認できます。

**モデルリーダーボード**を表示するには、以下を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. 構築したモデルを選択します。

1. ナビゲーションペインで、**[分析]** タブを選択します。

1. **[分析]** タブで、**[モデルリーダーボード]** を選択します。

**[モデルリーダーボード]** ページが開きます。表形式モデルの場合、次のスクリーンショットのようになります。

![\[Canvas がトレーニングしたすべてのモデル候補を一覧表示するモデルリーダーボード。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-model-leaderboard.png)


時系列予測モデルの場合は、Canvas でサポートされている時系列予測アルゴリズムごとに 1 つのモデルと 1 つのアンサンブルモデルを含む 7 つのモデルが表示されます。アルゴリズムの詳細については、「[高度な時系列予測モデル設定](canvas-advanced-settings.md#canvas-advanced-settings-time-series)」を参照してください。

前のスクリーンショットでは、リストされている最初のモデル候補が**デフォルトのモデル**としてマークされています。これは、予測を行ったり、エンドポイントにデプロイしたりできるモデル候補です。

比較するモデル候補に関するより詳細なメトリクス情報を表示するには、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[モデルの詳細の表示]** を選択します。

**重要**  
 デフォルト以外のモデル候補のモデルの詳細の読み込みには数分 (通常は 10 分未満) かかる場合があり、SageMaker AI ホスティング料金が適用されます。詳細については「[ SageMaker AI の料金](https://aws.amazon.com/sagemaker/pricing/)」を参照してください。

**[分析]** タブでモデル候補が開き、表示されるメトリクスはそのモデル候補に固有のものになります。モデル候補のメトリクスの確認が完了したら、ビューに戻るか、ビューを終了して **[モデルリーダーボード]** に戻ることができます。

**[デフォルトモデル]** を別の候補に設定する場合は、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[デフォルトモデルに変更]** をクリックします。HPO モードを使用してトレーニングされたモデルのデフォルトのモデルの変更には数分かかる場合があります。

**注記**  
モデルが本番環境に既にデプロイされているか、[モデルレジストリに登録](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-register-model.html)されているか、または[オートメーション](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-manage-automations.html)が設定されている場合は、デフォルトのモデルを変更する前に、デプロイ、モデル登録、またはオートメーションを削除する必要があります。

# メトリクスのリファレンス
<a name="canvas-metrics"></a>

次の各セクションでは、Amazon SageMaker Canvas で使用できるメトリクスについてモデルタイプごとに説明します。

## 数値予測のメトリクス
<a name="canvas-numeric-metrics"></a>

以下では、SageMaker Canvas における数値予測のメトリクスを定義し、その使用方法について説明します。
+ InferenceLatency – モデル予測のリクエストを送信した後に、モデルがデプロイされているリアルタイムエンドポイントからそのリクエストを受け取るまでのおおよその時間。このメトリクスは秒単位で測定され、**[アンサンブル]** モードを使用して構築されたモデルでのみ使用できます。
+ MAE - 平均絶対誤差。平均して、ターゲット列の予測は実際の値から \$1/- \$1MAE\$1 になります。

  すべての値を平均化した際に予測値と実際の値がどの程度異なるかを計算します。MAE は、モデル予測誤差について理解するために数値予測で一般的に使用されます。予測が線形である場合、MAE は予測線から実際の値までの平均距離を表します。MAE は、絶対誤差の合計を観測値の数で割った値として定義されます。値の範囲は 0 から無限大で、数字が小さいほど、モデルがよりデータに適合していることを示します。
+ MAPE - 平均絶対パーセント誤差。平均して、ターゲット列の予測は実際の値から \$1/- \$1MAPE\$1 % になります。

  MAPE は、実際の値と予測値または推定値との絶対差の平均を実際の値で割ってパーセンテージで表したものです。MAPE が低いほど、予測値または推定値が実際の値に近いため、パフォーマンスが向上することを示します。
+ MSE – 平均二乗誤差、つまり予測値と実際の値の差の二乗の平均。

  MSE の値は常に正です。モデルによる実際の値の予測精度が高くなるほど、MSE 値は小さくなります。
+ R2 - 入力列で説明可能なターゲット列の差のパーセンテージ。

  モデルが従属変数の分散を説明できる量を定量化します。値は 1 から -1 の範囲です。数値が大きいほど、説明できる変動性の割合が高いことを示します。ゼロ (0) に近い値は、従属変数のほとんどをモデルで説明できないことを示します。負の値は、適合度が低く、モデルのパフォーマンスは定数関数 (または水平線) よりも下回ることを示します。
+ RMSE – 二乗平均平方根誤差、または誤差の標準偏差。

  予測値と実際値の二乗差の平均値を求め、その値の平方根を計算したものです。モデル予測誤差を理解するために使用します。これは、大きなモデル誤差や外れ値の存在を示す重要なメトリクスです。値はゼロ (0) から無限大の範囲で、数値が小さいほど、モデルがデータにより適合していることを示します。RMSE は規模に依存するため、タイプが異なるデータセットの比較には使用しないでください。

## カテゴリ予測のメトリクス
<a name="canvas-categorical-metrics"></a>

このセクションでは、SageMaker Canvas におけるカテゴリ予測のメトリクスを定義し、その使用方法について説明します。

以下は、2 カテゴリ予測で利用可能なメトリクスのリストです。
+ 精度 - 正しい予測の割合 (%)。

  または、実行された予測の総数に対して正しく予測された項目の数の比率。精度は、予測されたクラス値が実際の値にどれだけ近いかを測定します。精度メトリクスの値は 0～1 の間で変化します。値 1 は完全な精度を示し、0 は完全な不正確さを示します。
+ AUC - モデルがデータセット内のカテゴリをどの程度分離できるかを示す 0 ～ 1 までの値。値 1 は、カテゴリを完全に分離できたことを示します。
+ BalancedAccuracy – すべての予測に対する正確な予測の比率を計算します。

  この比率は、真陽性 (TP) と真陰性 (TN) を陽性 (P) と陰性 (N) の合計数で正規化した後に計算します。これは次のように定義されます: `0.5*((TP/P)+(TN/N))` (値の範囲は 0 ～ 1)。バランス精度は、不均衡なデータセットで陽性と陰性の数が相互に大きく異なる場合 (1% のみのメールがスパムである場合など) に、より優れた精度の尺度となります。
+ F1 - クラスバランスを考慮した、精度に関するバランス調整した尺度。

  これは、次のように定義される精度スコアと再現率スコアの調和平均です: `F1 = 2 * (precision * recall) / (precision + recall)`。F1 のスコアは 0～1 の間の値です。スコアが 1 の場合は可能な限り最高のパフォーマンスを示し、0 は最悪を示します。
+ InferenceLatency – モデル予測のリクエストを送信した後に、モデルがデプロイされているリアルタイムエンドポイントからそのリクエストを受け取るまでのおおよその時間。このメトリクスは秒単位で測定され、**[アンサンブル]** モードを使用して構築されたモデルでのみ使用できます。
+ LogLoss - 対数損失は、クロスエントロピー損失とも呼ばれ、確率出力そのものではなく、出力の品質を評価するために使用するメトリクスです。対数損失は、モデルが高い確率で誤った予測を行っていることを示す重要なメトリクスです。値の範囲は 0 から無限大です。値 0 は、データを完全に予測するモデルを表します。
+ 精度 - \$1category x\$1 が予測されたすべての時間における、正しく予測された時間の割合 (\$1precision\$1%)。

  精度は、アルゴリズムが識別したすべての陽性のうち、真陽性 (TP) をどの程度適切に予測したかを測定します。これは次のように定義されます: `Precision = TP/(TP+FP)` (値の範囲は 0 ～ 1)。偽陽性のコストが高い場合、精度は重要なメトリクスです。例えば、航空機の安全システムが誤って安全に飛行可能と判断した場合、偽陽性のコストは非常に高くなります。偽陽性 (FP) は、陽性予測であるが、データ内で実際には陰性であることを示します。
+ 再現率 - \$1target\$1column\$1 が実際に \$1category x\$1 であったときに、正しく予測されたモデルが \$1category x\$1 であった割合 (\$1recall\$1%)。

  再現率は、アルゴリズムがデータセット内のすべての真陽性 (TP) をどれだけ正しく予測するかを測定します。真陽性は、陽性予測のうち、データ内で実際にも陽性である値を示します。再現率は次のように定義されます: `Recall = TP/(TP+FN)` (値の範囲は 0 ～ 1)。スコアが高いほど、データの真陽性 (TP) を予測するモデルの能力が高いことを示します。再現率を測定するだけでは通常は不十分であることに注意してください。すべての出力を真陽性として予測すると、完全な再現率スコアになってしまうためです。

以下は、3\$1 カテゴリ予測で利用可能なメトリクスのリストです。
+ 精度 - 正しい予測の割合 (%)。

  または、実行された予測の総数に対して正しく予測された項目の数の比率。精度は、予測されたクラス値が実際の値にどれだけ近いかを測定します。精度メトリクスの値は 0～1 の間で変化します。値 1 は完全な精度を示し、0 は完全な不正確さを示します。
+ BalancedAccuracy – すべての予測に対する正確な予測の比率を計算します。

  この比率は、真陽性 (TP) と真陰性 (TN) を陽性 (P) と陰性 (N) の合計数で正規化した後に計算します。これは次のように定義されます: `0.5*((TP/P)+(TN/N))` (値の範囲は 0 ～ 1)。バランス精度は、不均衡なデータセットで陽性と陰性の数が相互に大きく異なる場合 (1% のみのメールがスパムである場合など) に、より優れた精度の尺度となります。
+ F1macro – F1macro スコアは、精度と再現率を計算し、その調和平均をとって各クラスの F1 スコアを計算することで F1 スコアリングを適用します。次に、F1macro は個々のスコアを平均化し、F1macro スコアを取得します。F1macro スコアは 0～1 の間の値です。スコアが 1 の場合は可能な限り最高のパフォーマンスを示し、0 は最悪を示します。
+ InferenceLatency – モデル予測のリクエストを送信した後に、モデルがデプロイされているリアルタイムエンドポイントからそのリクエストを受け取るまでのおおよその時間。このメトリクスは秒単位で測定され、**[アンサンブル]** モードを使用して構築されたモデルでのみ使用できます。
+ LogLoss - 対数損失は、クロスエントロピー損失とも呼ばれ、確率出力そのものではなく、出力の品質を評価するために使用するメトリクスです。対数損失は、モデルが高い確率で誤った予測を行っていることを示す重要なメトリクスです。値の範囲は 0 から無限大です。値 0 は、データを完全に予測するモデルを表します。
+ PrecisionMacro – 各クラスの精度を計算し、スコアを平均化して複数のクラスの精度を取得することで精度を計算します。スコアの範囲は 0 ～ 1 です。スコアが高いほど、モデルが特定したすべての陽性のうち、真陽性 (TP) を予測した能力が高いこと (複数のクラスを平均化した結果) を示します。
+ RecallMacro - 各クラスの再現率を計算し、スコアを平均化して複数のクラスの再現率を取得することで再現率を計算します。スコアの範囲は 0 ～ 1 です。スコアが高いほど、データセット内の真陽性 (TP) を予測するモデルの能力が高いことを示します。真陽性は、陽性予測のうち、データ内で実際にも陽性である値です。再現率を測定するだけでは不十分な場合があります。すべての出力を真陽性として予測すると、完全な再現率スコアになってしまうためです。

3\$1 カテゴリ予測では、平均 F1、正確性、精度、再現率のメトリクスも受け取ることに注意してください。これらのメトリクスのスコアは、すべてのカテゴリの平均的なメトリクススコアにすぎません。

## 画像およびテキスト予測のメトリクス
<a name="canvas-cv-nlp-metrics"></a>

以下は、画像予測とテキスト予測で利用可能なメトリクスのリストです。
+ 精度 - 正しい予測の割合 (%)。

  または、実行された予測の総数に対して正しく予測された項目の数の比率。精度は、予測されたクラス値が実際の値にどれだけ近いかを測定します。精度メトリクスの値は 0～1 の間で変化します。値 1 は完全な精度を示し、0 は完全な不正確さを示します。
+ F1 - クラスバランスを考慮した、精度に関するバランス調整した尺度。

  これは、次のように定義される精度スコアと再現率スコアの調和平均です: `F1 = 2 * (precision * recall) / (precision + recall)`。F1 のスコアは 0～1 の間の値です。スコアが 1 の場合は可能な限り最高のパフォーマンスを示し、0 は最悪を示します。
+ 精度 - \$1category x\$1 が予測されたすべての時間における、正しく予測された時間の割合 (\$1precision\$1%)。

  精度は、アルゴリズムが識別したすべての陽性のうち、真陽性 (TP) をどの程度適切に予測したかを測定します。これは次のように定義されます: `Precision = TP/(TP+FP)` (値の範囲は 0 ～ 1)。偽陽性のコストが高い場合、精度は重要なメトリクスです。例えば、航空機の安全システムが誤って安全に飛行可能と判断した場合、偽陽性のコストは非常に高くなります。偽陽性 (FP) は、陽性予測であるが、データ内で実際には陰性であることを示します。
+ 再現率 - \$1target\$1column\$1 が実際に \$1category x\$1 であったときに、正しく予測されたモデルが \$1category x\$1 であった割合 (\$1recall\$1%)。

  再現率は、アルゴリズムがデータセット内のすべての真陽性 (TP) をどれだけ正しく予測するかを測定します。真陽性は、陽性予測のうち、データ内で実際にも陽性である値を示します。再現率は次のように定義されます: `Recall = TP/(TP+FN)` (値の範囲は 0 ～ 1)。スコアが高いほど、データの真陽性 (TP) を予測するモデルの能力が高いことを示します。再現率を測定するだけでは通常は不十分であることに注意してください。すべての出力を真陽性として予測すると、完全な再現率スコアになってしまうためです。

3 つ以上のカテゴリを予測する画像およびテキスト予測モデルの場合、*平均* F1、正確性、精度、再現率のメトリクスも受け取ることに注意してください。これらのメトリクスのスコアは、すべてのカテゴリのメトリクススコアの平均にすぎません。

## 時系列予測のメトリクス
<a name="canvas-time-series-forecast-metrics"></a>

Amazon SageMaker Canvas の時系列予測の高度なメトリクスを定義し、その使用方法を以下に示します。
+ 平均重み付き分位損失 (wQL) — P10、P50、P90 の分位数で精度を平均して予測を評価します。値が小さいほど、モデルの精度が高くなります。
+ 重み付き絶対誤差率 (WAPE) — 絶対目標値の合計で正規化された絶対誤差の合計で、予測値と観測値との全体的な偏差を測定します。値が小さいほどモデルの精度が高いことを示し、WAPE = 0 はエラーのないモデルです。
+ 二乗平均平方根誤差 (RMSE) — 平均の二乗誤差の平方根。RMSE 値が小さいほどモデルの精度が高いことを示し、RMSE = 0 はエラーのないモデルです。
+ 平均絶対誤差率 (MAPE) — すべての時点で平均された誤差率 (平均予測値と実際の値の差の割合)。値が小さいほどモデルの精度が高いことを示し、MAPE = 0 はエラーのないモデルです。
+ 平均絶対スケーリング誤差 (MASE) — 単純なベースライン予測法の平均絶対誤差で正規化された予測の平均絶対誤差。値が小さいほどモデルの精度が高いことを示し、MASE < 1 はベースラインよりも精度が高いことを示し、MASE > 1 はベースラインよりも精度が引くことを示します。

# カスタムモデルを使用した予測
<a name="canvas-make-predictions"></a>

SageMaker Canvas で構築したカスタムモデルを使用して、データの予測を行います。以下の各セクションでは、数値予測モデル、カテゴリ予測モデル、時系列予測モデル、画像予測モデル、テキスト予測モデルの予測方法について説明します。

数値予測、カテゴリ予測、画像予測、テキスト予測のカスタムモデルでは、データに対して次の種類の予測を行うことができます。
+ **単一予測** - **単一予測**では予測を 1 つだけ行います。例えば、分類する画像やテキストが 1 つある場合です。
+ **バッチ予測** - **バッチ予測**では、データセット全体の予測を行います。1 TB 以上のデータセットのバッチ予測を行うことができます。例えば、顧客のセンチメントを予測する顧客レビューの CSV ファイルや、分類する画像ファイルのフォルダがある場合です。入力データセットと一致するデータセットを使用して予測を行う必要があります。Canvas では、手動でバッチ予測を行えるほか、データセットが更新されるたびに実行される自動バッチ予測を設定することもできます。

各予測または予測のセットごとに、SageMaker Canvas は以下を返します。
+ 予測された値
+ 予測された値が正しい確率

**開始方法**

カスタムモデルを使用して予測を行うには、次のワークフローのいずれかを選択します。
+ [SageMaker Canvas でのバッチ予測](canvas-make-predictions-batch.md)
+ [単一予測を行う](canvas-make-predictions-single.md)

モデルの予測の生成後は、次の操作も実行できます。
+ [バージョンを追加してモデルを更新します。](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-update-model.html)モデルの予測精度を向上させる場合は、モデルの新しいバージョンを作成できます。元のモデル構築設定とデータセットのクローンを作成するか、設定を変更して別のデータセットを選択できます。新しいバージョンを追加した後は、バージョンを確認して比較し、最適なバージョンを選択できます。
+ [モデルのバージョンを SageMaker AI モデルレジストリに登録する](canvas-register-model.md)。モデルのバージョンを SageMaker モデルレジストリに登録できます。SageMaker モデルレジストリは、モデルバージョンと機械学習パイプラインのステータスを追跡して管理するための機能です。SageMaker モデルレジストリにアクセスできるデータサイエンティストまたは MLOps チームユーザーは、モデルバージョンを確認し、本番環境にデプロイする前にモデルを承認または却下できます。
+ [バッチ予測を Quick に送信します。](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html)Quick では、バッチ予測データセットを使用してダッシュボードを構築および公開できます。これにより、カスタムモデルによって生成された結果を分析して共有できます。

# 単一予測を行う
<a name="canvas-make-predictions-single"></a>

**注記**  
このセクションでは、Canvas アプリケーション内でモデルから単一の予測を取得する方法について説明します。モデルをエンドポイントにデプロイして本番環境でリアルタイム呼び出しを行う方法については、「[モデルをエンドポイントにデプロイする](canvas-deploy-model.md)」を参照してください。

1 つのデータポイントについて予測を行う場合は、単一予測を行います。この機能を使用して、リアルタイムの予測を取得したり、個々の値を変更して予測結果にどのような影響があるかを確認したりできます。単一の予測は非同期推論エンドポイントに依存します。つまり、2 時間アイドル状態になったとき (または予測リクエストを受信しなかったとき) にシャットダウンされることに注意してください。

モデルタイプに基づいて、次のいずれかの手順を選択します。

## 数値予測モデルとカテゴリ予測モデルを使用して単一予測を行う
<a name="canvas-make-predictions-numeric-categorical"></a>

数値予測モデルまたはカテゴリ予測モデルを使用して単一予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[予測を実行]** ページで、**[単一予測]** を選択します。

1. 入力データの列を表す **[列]** フィールドごとに **[値]** を変更できます。変更する **[値]** のドロップダウンメニューを選択します。数値フィールドに、新しい数値を入力します。ラベル付きのフィールドで、別のラベルを選択します。

1. 予測を生成する準備ができたら、右側の **[予測]** ペインで **[更新]** を選択します。

右側の **[予測]** ペインに予測結果が表示されます。予測結果チャートを **[コピー]** するか、**[ダウンロード]** を選択して予測結果チャートを画像としてダウンロードします。また、値と予測を CSV ファイルとしてダウンロードすることもできます。

## 時系列予測モデルを使用して単一の予測を行う
<a name="canvas-make-predictions-forecast"></a>

時系列予測モデルで単一の予測を行うには、以下を実行します。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[単一予測]** を選択します。

1. **[項目]** で、値を予測する項目を選択します。

1. 列ごとにグループを使用してモデルをトレーニングした場合は、項目のカテゴリごとにグループを選択します。

予測結果は下のペインにロードされ、各分位数の予測を含むグラフが表示されます。**[スキーマ ビュー]** を選択すると、数値の予測値が表示されます。**[ダウンロード]** を選択して、予測結果を画像 CSV または CSV ファイルとしてダウンロードすることもできます。

## 画像予測モデルを使用して単一予測を行う
<a name="canvas-make-predictions-image"></a>

単一ラベルの画像予測モデルを使用して単一予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[予測を実行]** ページで、**[単一予測]** を選択します。

1. **[画像のインポート]** を選択します。

1. 画像をアップロードするよう求められます。ローカルコンピュータまたは Amazon S3 バケットにある画像をアップロードできます。

1. **[インポート]** を選択して画像をインポートし、予測を生成します。

右側の **[予測結果]** ペインのモデルで、可能性のある画像のラベルと各ラベルの **[信頼度]** スコアが一覧表示されます。例えば、モデルは「**海**」の画像ラベルを 96% の信頼スコアで予測し、「**氷河**」の画像ラベルを 4% の信頼スコアで予測することがあります。したがって、モデルは海の画像の予測にかなり自信を持っていると判断できます。

## テキスト予測モデルを使用して単一予測を行う
<a name="canvas-make-predictions-text"></a>

マルチカテゴリテキスト予測モデルを使用して単一予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[予測を実行]** ページで、**[単一予測]** を選択します。

1. **[テキスト]** フィールドに、予測するテキストを入力します。

1. **[予測結果を生成]** を選択して予測を生成します。

右側の **[予測結果]** ペインには、可能性のある各ラベルの **[信頼度]** スコアに加えて、テキストの分析結果が表示されます。例えば、ある商品に関する良いレビューを入力した場合、信頼スコアは 85% で **ポジティブ**になり、**中立**の信頼スコアは 10%、**ネガティブ**の信頼スコアはわずか 5% になる可能性があります。

# SageMaker Canvas でのバッチ予測
<a name="canvas-make-predictions-batch"></a>

データセット全体に対して予測を行う場合は、バッチ予測を行います。Amazon SageMaker Canvas では、サイズが最大 PB のデータセットのバッチ予測をサポートしています。

バッチ予測には次の 2 種類があります。
+ [手動](canvas-make-predictions-batch-manual.md)バッチ予測は、1 回限りの予測を行いたいデータセットがある場合に使用します。
+ [自動](canvas-make-predictions-batch-auto.md)バッチ予測では、特定のデータセットが更新されるたびに実行される構成を設定します。例えば、在庫データの SageMaker Canvas データセットを毎週更新するように設定した場合、データセットを更新するたびに実行される自動バッチ予測を設定できます。自動バッチ予測ワークフローを設定した後で、設定の詳細を表示および編集する方法の詳細については、「[自動化の管理方法](canvas-manage-automations.md)」を参照してください。データセットの自動更新設定の詳細については、「[データセットの自動更新を設定する](canvas-update-dataset-auto.md)」を参照してください。

**注記**  
時系列予測モデルは、自動バッチ予測をサポートしていません。  
自動バッチ予測は、ローカルアップロードまたは Amazon S3 を通じてインポートされたデータセットにのみ設定できます。また、自動バッチ予測はユーザーが Canvas アプリケーションにログインしている間のみ実行されます。Canvas からログアウトした場合、ログインし直すと自動バッチ予測ジョブが再開されます。

開始するには、[バッチ予測データセットの要件](canvas-make-predictions-batch-preqreqs.md)を確認してから、手動または自動バッチ予測ワークフローのいずれかを選択します。

**Topics**
+ [バッチ予測データセットの要件](canvas-make-predictions-batch-preqreqs.md)
+ [手動バッチ予測を行う](canvas-make-predictions-batch-manual.md)
+ [自動バッチ予測を行う](canvas-make-predictions-batch-auto.md)
+ [自動バッチ予測設定を編集する](canvas-make-predictions-batch-auto-edit.md)
+ [自動バッチ予測設定を削除する](canvas-make-predictions-batch-auto-delete.md)
+ [バッチ予測ジョブを表示する](canvas-make-predictions-batch-auto-view.md)

# バッチ予測データセットの要件
<a name="canvas-make-predictions-batch-preqreqs"></a>

バッチ予測を行うには、データセットが「[データセットの作成](canvas-import-dataset.md)」で説明されている要件を満たしていることを確認します。データセットが 5 GB を超える場合、Canvas では Amazon EMR Serverless を使用してデータを処理し、より小さなバッチに分割します。データの分割後、Canvas は SageMaker AI バッチ変換を使用して予測を行います。バッチ予測の実行後に、これらのサービスの両方から料金が発生する場合があります。詳細については、「[Canvas の料金](https://aws.amazon.com/sagemaker/canvas/pricing/)」を参照してください。

一部のデータセットが互換性のない*スキーマ*を持っている場合、予測を実行できないことがあります。*スキーマ*とは組織構造のことです。表形式のデータセットの場合は、列の名前と列内のデータのデータ型がスキーマになります。互換性のないスキーマは、次のような理由から発生することがあります。
+ 予測に使用するデータセットの列数が、モデルの構築に使用するデータセットよりも少ない。
+ データセットの構築に使用した列のデータ型が、予測に使用するデータセットのデータ型と異なる。
+ 予測に使用するデータセットとモデルの構築に使用したデータセットに、一致しない列名がある。列名では大文字と小文字が区別されます。`Column1` と `column1` は区別されます。

バッチ予測を正常に行うには、バッチ予測データセットのスキーマを、モデルのトレーニングに使用したデータセットと一致させます。

**注記**  
バッチ予測では、モデルの構築時にいずれかの列をドロップすると、Canvas は削除された列を予測結果に戻します。ただし、Canvas はドロップされた列を時系列モデルのバッチ予測に追加しません。

# 手動バッチ予測を行う
<a name="canvas-make-predictions-batch-manual"></a>

モデルタイプに基づいて手動バッチ予測を行うには、次のいずれかの手順を選択します。

## 数値予測モデル、カテゴリ予測モデル、時系列予測モデルを使用して手動バッチ予測を行う
<a name="canvas-make-predictions-batch-numeric-categorical"></a>

数値、カテゴリ、時系列の予測モデルタイプの手動バッチ予測を行うには、以下を実行します。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[予測を実行]** ページで、**[バッチ予測]** を選択します。

1. **[データセットを選択]** を選択して、予測を生成するためのデータセットを選択します。

1. 使用可能なデータセットのリストからデータセットを選択し、**[予測を開始]** を選択して予測を生成します。

予測ジョブの実行が完了すると、**[予測]** セクションの同じページに出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[プレビュー]** を選択して出力データをプレビューできます。入力データが予測と一致し、予測が正しい確率を確認できます。その後、**[予測をダウンロード]** を選択して、結果をファイルとしてダウンロードできます。

## 画像予測モデルを使用して手動バッチ予測を行う
<a name="canvas-make-predictions-batch-image"></a>

単一ラベルの画像予測モデルを使用して手動バッチ予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[予測を実行]** ページで、**[バッチ予測]** を選択します。

1. データセットを既にインポートしている場合は、**[データセットを選択]** を選択します。インポートしていない場合は、**[新しいデータセットのインポート]** を選択すると、データのインポートワークフローが表示されます。

1. 使用可能なデータセットのリストからデータセットを選択し、**[予測を生成]** を選択して予測を生成します。

予測ジョブの実行が完了すると、**[予測を実行]** ページの **[予測]** の下に出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[予測結果を表示]** を選択して出力データを確認できます。画像と予測ラベル、信頼スコアを確認できます。その後、**[予測をダウンロード]** を選択して、結果を CSV または ZIP ファイルでダウンロードできます。

## 画像予測モデルを使用して手動バッチ予測を行う
<a name="canvas-make-predictions-batch-text"></a>

マルチカテゴリテキスト予測モデルを使用して手動バッチ予測を行うには、次の手順に従います。

1. Canvas アプリケーションの左側のナビゲーションペインで、**[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. モデルを開いたら、**[予測]** タブを選択します。

1. **[予測を実行]** ページで、**[バッチ予測]** を選択します。

1. データセットを既にインポートしている場合は、**[データセットを選択]** を選択します。インポートしていない場合は、**[新しいデータセットのインポート]** を選択すると、データのインポートワークフローが表示されます。選択するデータセットのソース列は、モデルを構築したデータセットのソース列と同じでなければなりません。

1. 使用可能なデータセットのリストからデータセットを選択し、**[予測を生成]** を選択して予測を生成します。

予測ジョブの実行が完了すると、**[予測を実行]** ページの **[予測]** の下に出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[プレビュー]** を選択して出力データを確認できます。画像と予測ラベル、信頼スコアを確認できます。その後、**[予測をダウンロード]** を選択して、結果をダウンロードできます。

# 自動バッチ予測を行う
<a name="canvas-make-predictions-batch-auto"></a>

**注記**  
時系列予測モデルは、自動バッチ予測をサポートしていません。

自動バッチ予測のスケジュールを設定するには、次の手順に従います。

1. Canvas の左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. モデルを選択します。

1. **[予測]** タブを選択します。

1. **[バッチ予測]** を選択します。

1. **[予測を生成]** で、**[自動]** を選択します。

1. **[バッチ予測の自動化]** ダイアログボックスが表示されます。**[データセットを選択]** を選択して、予測を自動化するデータセットを選択します。ローカルアップロードまたは Amazon S3 を介してインポートされたデータセットのみ選択できることに注意してください。

1. データセットを選択したら、**[設定]** を選択します。

構成を設定すると、Canvas はデータセットのバッチ予測ジョブを実行します。その後、手動または自動で [データセットを更新する](canvas-update-dataset.md) たびに、毎回別のバッチ予測ジョブが実行されます。

予測ジョブの実行が完了すると、**[予測を実行]** ページの **[予測]** の下に出力データセットが表示されます。このデータセットには結果が格納されており、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[プレビュー]** を選択して出力データをプレビューできます。入力データが予測と一致し、予測が正しい確率を確認できます。次に、**[ダウンロード]** を選択して結果をダウンロードします。

以下のセクションでは、Canvas アプリケーションの **[データセット]** ページから自動バッチ予測設定を表示、更新、削除する方法について説明します。Canvas で設定できる自動更新は最大 20 件までです。**[自動化]** ページでの自動バッチ予測ジョブの履歴の表示、自動設定の変更方法の詳細については、「[自動化の管理方法](canvas-manage-automations.md)」を参照してください。

# 自動バッチ予測設定を編集する
<a name="canvas-make-predictions-batch-auto-edit"></a>

更新頻度の変更など、データセットの自動更新設定を変更する場合があります。また、自動更新設定を無効にして、データセットの更新を一時停止する場合もあります。

バッチ予測設定を編集する際、ターゲットデータセットは変更できますが、頻度は変更できません (自動バッチ予測はデータセットが更新されるたびに行われるため)。

自動更新設定を編集するには、次の手順に従います。

1. モデルの **[予測]** タブに移動します。

1. **[予測]** で、**[構成]** タブを選択します。

1. 設定を見つけて、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. ドロップダウンメニューで、**[構成を更新]** を選択します。

1. **[バッチ予測の自動化]** ダイアログボックスが開きます。別のデータセットを選択し、**[設定]** を選択して変更を保存できます。

これで、自動バッチ予測の設定が更新されます。

自動バッチ予測を一時停止するには、次の手順に従って自動設定を無効にします。

1. モデルの **[予測]** タブに移動します。

1. **[予測]** で、**[構成]** タブを選択します。

1. リストで設定を探し、**[自動更新]** トグルを無効にします。

自動バッチ予測は一時停止されます。トグルを有効に戻すと、いつでも更新スケジュールを再開できます。

# 自動バッチ予測設定を削除する
<a name="canvas-make-predictions-batch-auto-delete"></a>

自動バッチ予測設定を削除する方法については、「[自動設定を削除する](canvas-manage-automations-delete.md)」を参照してください。

次の手順に従って、設定を削除することもできます。

1. モデルの **[予測]** タブに移動します。

1. **[予測]** で、**[構成]** タブを選択します。

1. リストで設定を見つけて、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. ドロップダウンメニューで、**[構成を削除]** を選択します。

これで、設定が削除されます。

# バッチ予測ジョブを表示する
<a name="canvas-make-predictions-batch-auto-view"></a>

自動バッチ予測のジョブのステータスと履歴を表示するには、モデルの **[予測]** タブに移動します。

各バッチ予測ジョブは、モデルの **[予測]** タブに表示されます。**[予測]** には、**[すべてのジョブ]** タブと **[設定]** タブが表示されます。
+ **[すべてのジョブ]** — このタブには、このモデルのすべての手動および自動バッチ予測ジョブが表示されます。ジョブは設定名でフィルタリングできます。それぞれのジョブについて、次のフィールドが表示されます。
  + **ステータス** – バッチ予測ジョブの現在のステータス。ステータスが**失敗**または**部分的に失敗**の場合、ステータスにカーソルを合わせると、トラブルシューティングに役立つ、より詳細なエラーメッセージを表示できます。
  + **入力データセット** – データセットのバージョンを含む、Canvas 入力データセットの名前。
  + **予測タイプ** – 予測ジョブが自動と手動のどちらであるか。
  + **行** – 予測された行の数。
  + **設定名** – バッチ予測ジョブ設定の名前。
  + **QuickSight** – バッチ予測を Quick に送信したかどうかを示します。
  + **作成日** – バッチ予測ジョブの作成時刻。

  **その他のオプション**アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択した場合は、**詳細の表示**、**予測のプレビュー**、**予測のダウンロード**、クイック**への送信**を選択できます。**[詳細を表示]** を選択すると、ステータス、入力および出力データの設定、ジョブの完了に使用されたインスタンスに関する情報、Amazon CloudWatch logsへのアクセスなど、バッチ予測ジョブの詳細を示すページが開きます。次のスクリーンショットのようなページが表示されます。  
![\[ジョブに関するすべての追加の詳細を示しているバッチ予測ジョブの詳細ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-view-batch-prediction-job-details.png)
+ **[設定]** — このタブには、このモデル用に作成したすべての自動バッチ予測構成が表示されます。各設定には、**[作成時刻]** のタイムスタンプ、更新のために追跡される **[入力データセット]**、**[スケジュールされた次のジョブ]** (スケジュールされている次の自動予測ジョブの開始時刻) などのフィールドが表示されます。**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[すべてのジョブを表示]** を選択して、その構成のジョブ履歴と進行中のジョブを表示できます。



# Quick に予測を送信する
<a name="canvas-send-predictions"></a>

**注記**  
バッチ予測を Quick に送信して、数値予測、カテゴリ予測、時系列予測モデルを作成できます。単一ラベル画像予測モデルとマルチカテゴリテキスト予測モデルは対象に含まれません。

SageMaker Canvas でカスタム表形式モデルを使用してバッチ予測を生成したら、それらの予測を CSV ファイルとして Quick に送信できます。Quick は、予測ダッシュボードを構築して公開するためのビジネスインテリジェンス (BI) サービスです。

たとえば、顧客が解約するかどうかを判断するために 2 つのカテゴリ予測モデルを構築した場合、Quick で視覚的な予測ダッシュボードを作成して、解約が予想される顧客の割合を表示できます。クイックの詳細については、[「 クイックユーザーガイド](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html)」を参照してください。

以下のセクションでは、分析のためにバッチ予測を Quick に送信する方法を示します。

## [開始する前に]
<a name="canvas-send-predictions-prereqs"></a>

ユーザーには、Quick に予測を送信するために必要な AWS Identity and Access Management (IAM) アクセス許可が必要です。管理者はユーザーの IAM 権限を設定できます。詳細については、「[予測をクイックに送信するアクセス許可をユーザーに付与する](canvas-quicksight-permissions.md)」を参照してください。

クイックアカウントには、クイックアカウントを初めて作成するときに設定される`default`名前空間が含まれている必要があります。Quick へのアクセスについては、管理者にお問い合わせください。詳細については、「 [クイックユーザーガイド」の](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html)「クイックのセットアップ」を参照してください。 **

クイックアカウントは、Canvas アプリケーションと同じリージョンで作成する必要があります。クイックアカウントのホームリージョンが Canvas アプリケーションのリージョンと異なる場合は、クイックアカウント[を閉じて](https://docs.aws.amazon.com/quicksight/latest/user/closing-account.html)再作成するか、クイックアカウントと同じリージョンに [Canvas アプリケーションをセットアップ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)する必要があります。クイックホームリージョンを確認するには、以下を実行します (クイックアカウントが既にある場合）。

1. [クイックコンソール](https://quicksight.aws.amazon.com/)を開きます。

1. ページがロードされると、クイックホームリージョンが URL に次の形式で追加されます: `https://<your-home-region>.quicksight.aws.amazon.com/`。

予測を送信する先の Quick ユーザーのユーザー名を知る必要があります。予測は、自分や適切な権限を持つ他のユーザーに送信できます。予測を送信するすべてのユーザーは、Quick アカウントの `default`[名前空間](https://docs.aws.amazon.com/quicksight/latest/user/namespaces.html)に存在し、Quick で `Author`または `Admin`ロールを持っている必要があります。

さらに、Quick はドメインの SageMaker AI デフォルト Amazon S3 バケットにアクセスできる必要があります。このバケットの名前は、 の形式です`sagemaker-{REGION}-{ACCOUNT_ID}`。リージョンは、クイックアカウントのホームリージョンおよび Canvas アプリケーションのリージョンと同じである必要があります。Amazon S3 バケットに保存されているバッチ予測へのクイックアクセスを許可する方法については、*「 クイックユーザーガイド*」の[Amazon S3に接続できない](https://docs.aws.amazon.com/quicksight/latest/user/troubleshoot-connect-S3.html)」トピックを参照してください。

## サポートされているデータ形式
<a name="canvas-send-predictions-formatting"></a>

予測を送信する前に、バッチ予測のデータ形式が Quick と互換性があることを確認してください。
+ 時系列データに受け入れられるデータ形式の詳細については、「 *クイックユーザーガイド*」の[「サポートされている日付形式](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html)」を参照してください。
+ Quick に送信できないデータ値の詳細については、「 Quick *User Guide*」の[「Unsupported values in data](https://docs.aws.amazon.com/quicksight/latest/user/unsupported-data-values.html)」を参照してください。

また、Quick は文字をテキスト修飾子`"`として使用するため、Canvas データに`"`文字が含まれている場合は、一致する引用符をすべて閉じてください。引用符が一致しない場合、データセットを Quick に送信する際に問題が発生する可能性があります。

## バッチ予測を Quick に送信する
<a name="canvas-send-predictions-send"></a>

予測を Quick に送信するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。

1. **[予測]** タブを選択します。

1. **[予測]** で、共有するバッチ予測のデータセット (1 つまたは複数) を選択します。バッチ予測のデータセットは一度に 5 つまで共有できます。

1. データセットを選択したら、**高速に送信**を選択します。
**注記**  
**Send to Quick** ボタンは、1 つ以上のデータセットを選択しない限りアクティブ化されません。

   または、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[予測結果を表示]** を選択して予測をプレビューすることもできます。データセットのプレビューから、**高速に送信**を選択できます。次のスクリーンショットは、データセットプレビューの**「高速に送信**」ボタンを示しています。  
![\[Send to Quick ボタンが下部にあるデータセットプレビューのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/send-to-quicksight-preview.png)

1. Send **to Quick** ダイアログボックスで、次の操作を行います。

   1. **QuickSight ユーザー**には、予測を送信する Quick ユーザーの名前を入力します。自分宛に送信する場合は、自分のユーザー名を入力します。予測は Quick アカウントの `default`名前空間のユーザーにのみ送信でき、ユーザーは Quick で `Author`または `Admin`ロールを持っている必要があります。

   1. **[送信]** を選択します。

   次のスクリーンショットは、**Send to Quick** ダイアログボックスを示しています。  
![\[Send to Quick ダイアログボックス。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/send-to-quicksight.png)

バッチ予測を送信すると、送信したデータセットの **[QuickSight]** フィールドには `Sent` が表示されます。予測が送信されたことを確認する確認ボックスで、**クイックを開く**を選択してクイックアプリケーションを開くことができます。Canvas の使用が済んだら、Canvas アプリケーションから[ログアウト](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-log-out.html)する必要があります。

データセットを送信したクイックユーザーは、クイックアプリケーションを開き、共有されている Canvas データセットを表示できます。その後、そのデータを使用して予測ダッシュボードを作成できます。詳細については、[「 クイックユーザーガイド」の「クイックデータ分析の開始方法](https://docs.aws.amazon.com/quicksight/latest/user/getting-started.html)」を参照してください。 **

デフォルトでは、予測を送信するすべてのユーザーには、Quick のデータセットに対する所有者権限があります。所有者は、データセットの作成、更新、編集、削除、再共有を行うことができます。所有者がデータセットに変更を加えると、アクセス権を持つすべてのユーザーのデータセットが変更されます。アクセス許可を変更するには、Quick のデータセットに移動し、そのアクセス許可を管理します。詳細については、[「 クイックユーザーガイド」の「データセットが共有されているアクセス許可ユーザーの表示と編集](https://docs.aws.amazon.com/quicksight/latest/user/sharing-data-sets.html#view-users-data-set)」を参照してください。 **

# モデルノートブックをダウンロードする
<a name="canvas-notebook"></a>

**注記**  
モデルノートブック機能は、クイックビルドおよび標準ビルドの表形式モデル、およびファインチューニングされた基盤モデルで使用できます。モデルノートブックは、画像予測、テキスト予測、または時系列予測モデルではサポートされていません。  
この機能の起動前に構築された表形式モデルのモデルノートブックを生成する場合は、モデルを再構築してノートブックを生成する必要があります。

Amazon SageMaker Canvas で正常に構築された対象モデルの場合、すべてのモデル構築ステップのレポートを含む Jupyter Notebook が生成されます。この Jupyter Notebook は、モデルの構築に必要なステップをレプリケートするために、ローカルで実行することも、Amazon SageMaker Studio Classic などの環境で実行することもできます。ノートブックは、コードを試したり、Canvas がモデルを構築する方法のバックエンドの詳細を確認したりする場合に役立ちます。

モデルノートブックにアクセスするには、次の操作を行います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. 構築したモデルとバージョンを選択します。

1. モデルバージョンのページのヘッダーで **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. ドロップダウンメニューから、**[ノートブックを表示]** を選択します。

1. ノートブックのコンテンツを含むポップアップが表示されます。**[ダウンロード]** を選択して、次のいずれかを実行できます。

   1. **[ダウンロード]** を選択して、ノートブックのコンテンツをローカルデバイスに保存します。

   1. **[S3 URI をコピー]** を選択して、ノートブックが保存されている Amazon S3 の場所をコピーします。ノートブックは、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」のセクションで設定されている **[Canvas ストレージの設定]** で指定された Amazon S3 バケットに保存されます。

これで、ノートブックをローカルで、または Amazon S3 のオブジェクトとして表示できるようになりました。ノートブックは IDE にアップロードしてコードを編集して実行することも、組織内の他のユーザーと共有して確認することもできます。

# モデルを Quick に送信する
<a name="canvas-send-model-to-quicksight"></a>

Quick を使用していて、Quick ビジュアライゼーションで SageMaker Canvas を活用する場合は、Amazon SageMaker Canvas モデルを構築し、Quick データセットの*予測フィールド*として使用できます。*予測フィールド*は、Quick データセット内のフィールドであり、Canvas ユーザーがモデルを使用して単一またはバッチ予測を行う方法と同様に、データセット内の特定の列に対して予測を行うことができます。Canvas の予測機能を Quick データセットに統合する方法の詳細については、[「 Quick User Guide](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html)」の[SageMaker Canvas の統合](https://docs.aws.amazon.com/quicksight/latest/user/sagemaker-canvas-integration.html)」を参照してください。

次のステップでは、Canvas モデルを使用して Quick データセットに予測フィールドを追加する方法について説明します。

1. Canvas アプリケーションを開き、データセットを使用してモデルを構築します。

1. Canvas でモデルを構築したら、モデルを Quick に送信します。モデルを Quick に送信すると、スキーマファイルが自動的にローカルマシンにダウンロードされます。次のステップで、このスキーマファイルを Quick にアップロードします。

1. Quick を開き、モデルの構築に使用したデータセットと同じスキーマのデータセットを選択します。データセットに予測フィールドを追加し、以下を実行します。

   1. Canvas から送信されたモデルを指定します。

   1. 手順 2 でダウンロードしたスキーマファイルをアップロードします。

1. 変更を保存して公開し、新しいデータセットの予測を生成します。Quick はモデルを使用してターゲット列に予測を入力します。

Canvas から Quick にモデルを送信するには、次の前提条件を満たす必要があります。
+ Canvas と Quick の両方を設定する必要があります。クイックアカウントは、Canvas アプリケーション AWS リージョン と同じ で作成する必要があります。クイックアカウントのホームリージョンが Canvas アプリケーションのリージョンと異なる場合は、クイックアカウント[を閉じて](https://docs.aws.amazon.com/quicksight/latest/user/closing-account.html)再作成するか、クイックアカウントと同じリージョンに [Canvas アプリケーションをセットアップ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)する必要があります。クイックアカウントには、クイックアカウントを初めて作成するときに設定したデフォルトの名前空間も含める必要があります。Quick へのアクセスについては、管理者にお問い合わせください。詳細については、「 [クイックユーザーガイド」の](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html)「クイックのセットアップ」を参照してください。 **
+ ユーザーには、Quick に予測を送信するために必要な AWS Identity and Access Management (IAM) アクセス許可が必要です。管理者はユーザーの IAM 権限を設定できます。詳細については、[「クイックに予測を送信するアクセス許可をユーザーに付与する](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-quicksight-permissions.html)」を参照してください。
+ Quick は、Canvas アプリケーションストレージに指定した Amazon S3 バケットにアクセスできる必要があります。詳細については、「[Amazon S3 ストレージを設定にする](canvas-storage-configuration.md)」を参照してください。

# Amazon SageMaker Canvas の時系列予測
<a name="canvas-time-series"></a>

**注記**  
時系列予測モデルは表形式のデータセットでのみサポートされます。

Amazon SageMaker Canvas では、機械学習の時系列予測を使用できます。時系列予測では、時間によって変化する予測を行うことができます。

時系列予測は、以下のような例に使用できます。
+ 今後数か月の在庫を予測する。
+ 今後 4 か月間に販売される商品の数。
+ ホリデーシーズン期間中に販売価格を引き下げることによる影響。
+ 今後 12 か月間の商品の在庫。
+ 今後数時間以内に店舗に入店する顧客の数。
+ 商品価格の 10% 引き下げが一定の期間における売上高に及ぼす影響の予測。

時系列予測を行うには、データセットに以下のものが必要です。
+ すべての値が `datetime` 型のタイムスタンプ列。
+ 未来の値を予測するために使用する値が入ったターゲット列。
+ SKU 番号など、データセット内の各項目の一意の識別子を含む項目 ID 列。

タイムスタンプ列の `datetime` 値は、次のいずれかの形式を使用する必要があります。
+ `YYYY-MM-DD HH:MM:SS`
+ `YYYY-MM-DDTHH:MM:SSZ`
+ `YYYY-MM-DD`
+ `MM/DD/YY`
+ `MM/DD/YY HH:MM`
+ `MM/DD/YYYY`
+ `YYYY/MM/DD HH:MM:SS`
+ `YYYY/MM/DD`
+ `DD/MM/YYYY`
+ `DD/MM/YY`
+ `DD-MM-YY`
+ `DD-MM-YYYY`

次の間隔で予測を行うことができます。
+ 1 分
+ 5 分
+ 15 分
+ 30 分
+ 1 時間
+ 1 日
+ 1 週間
+ 1 か月
+ 1 年

## 入力データセットの将来の値
<a name="canvas-time-series-future"></a>

Canvas は、将来の値を含む可能性のあるデータセット内の列を自動的に検出します。存在する場合、これらの値は予測の精度を高めることができます。Canvas では、これらの特定の列に `Future values` のラベルを付けます。Canvas では、これらの列のデータと予測しようとしているターゲット列との関係を推測し、その関係を利用してより正確な予測を生成します。

食料品店が販売するアイスクリームの量の予測などに使用できます。予測を行うには、タイムスタンプ列と、食料品店が販売したアイスクリームの量を示す列が必要です。より正確な予測のために、データセットに価格、外界温度、アイスクリームのフレーバー、またはアイスクリームの一意の識別子を含めることもできます。

気温が暖かいとアイスクリームの売上が増える可能性があります。アイスクリームの値下げが、販売数の増加につながることもあります。外界温度データの列と価格データの列があると、食料品店が販売するアイスクリームの個数をより正確に予測できます。

将来の値の提供はオプションですが、Canvas アプリケーションで What-If 分析を直接実行するのに役立ちます。これは、将来の値の変更が予測をどのように変更するかを示します。

## 欠落した値の処理
<a name="canvas-time-series-missing"></a>

さまざまな理由でデータが欠落している場合もあります。データが欠落している理由がわかれば、Canvas での計算方法を特定できるかもしれません。例えば、組織では、販売が発生したときのみ追跡する自動システムが使用されることがあります。このようなタイプの自動システムからのデータセットを使用すると、ターゲット列の値が欠落します。

**重要**  
ターゲット列に欠落した値がある場合は、欠損値のないデータセットを使用することをお勧めします。SageMaker Canvas は、ターゲット列を使用して将来の値を予測します。ターゲット列の値が欠落していると、予測の精度が大幅に低下することがあります。

データセット内の欠落値の場合、Canvas ではターゲット列に `0` を入力し、他の数値列に列の中央値を入力することで、欠落値を自動的に補完します。

ただし、データセット内のターゲット列やその他の数値列には独自のフィルロジックを選択できます。ターゲット列には、他の数値列とは異なる filling ガイドラインと制限があります。ターゲット列は履歴期間の終了まで入力され、一方で数値列は予測期間の終了まで、履歴期間と将来の期間の両方で入力されます。Canvas は、データに将来のタイムスタンプとその特定の列の値を持つレコードが少なくとも 1 つある場合にのみ、数値列に将来の値を入力します。

次のいずれかのフィルロジックオプションを選択して、データの欠落を補完できます。
+ `zero` – `0` を入力します。
+ `NaN` – 数値ではなく、NaN を入力します。これはターゲット列でのみサポートされます。
+ `mean` - データ系列の平均値を入力します。
+ `median` - データ系列の中央値を入力します。
+ `min` - データ系列の最小値を入力します。
+ `max` - データ系列の最大値を入力します。

フィルロジックを選択するときは、モデルによってロジックがどのように解釈されるかを考慮する必要があります。例えば、小売のシナリオでは、利用可能な品目の販売数 0 を記録することは、利用できない品目の販売数 0 を記録することとは異なります。後者の場合、品目に対するお客様の関心がないことを意味するものではありません。この場合、データセットのターゲット列 `0` を入力すると、モデルの予測に偏りがなくなり、利用できない品目に対するお客様の関心がないものと推測される可能性があります。逆に、`NaN` を入力すると、利用可能な品目の販売数がゼロである実際の出現がモデルによって無視される可能性があります。

## 予測のタイプ
<a name="canvas-time-series-types"></a>

以下のいずれかのタイプの予測を行うことができます。
+ **1 つの項目**
+ **すべての項目**

データセット内のすべてのアイテムに対する予測では、SageMaker Canvas はデータセット内の各項目の将来の値の予測を返します。

1 つの項目に対する予測の場合は、SageMaker Canvas は指定した項目に対する将来の値の予測を返します。予測では、予測値を時系列でプロットする折れ線グラフも表示されます。

**Topics**
+ [入力データセットの将来の値](#canvas-time-series-future)
+ [欠落した値の処理](#canvas-time-series-missing)
+ [予測のタイプ](#canvas-time-series-types)
+ [インサイトを予測するための追加オプション](canvas-additional-insights.md)

# インサイトを予測するための追加オプション
<a name="canvas-additional-insights"></a>

Amazon SageMaker Canvas では、以下のオプションの方法を使用すると、予測からより多くのインサイトを取得できます。
+ グループ列
+ 休日のスケジュール
+ What-If シナリオ

データセット内の列は、**グループ列**として指定できます。Amazon SageMaker Canvas では、列内の値ごとに予測がグループ化されます。例えば、価格データや一意の商品識別子を含む列の予測をグループ化できます。列で予測をグループ化すると、より具体的な予測を行うことができます。例えば、商品識別子を含む列の予測をグループ化すると、商品ごとの予測を表示できます。

商品の全体的な売上は、休日があることによって影響を受けることがあります。例えば、米国では、11 月と 12 月の販売数が 1 月の販売数と大きく異なることがあります。11 月と 12 月のデータを使用して 1 月の売上を予測すると、結果が不正確になる場合があります。休日のスケジュールを使用すると、不正確な結果を回避できます。251 か国の休日のスケジュールを使用できます。

データセット内の 1 つの項目の予測には、What-If シナリオを使用できます。What-If シナリオでは、データの値を変更し、予測を変更できます。例えば、What-If シナリオを使用すると、次のような質問に答えることができます。「物価を下げたらどうなるだろうか。販売数にはどのような影響をもたらすだろうか」

# Amazon SageMaker Canvas でモデルバージョンを追加する
<a name="canvas-update-model"></a>

Amazon SageMaker Canvas では、*バージョン*を追加することで、構築したモデルを更新できます。構築する各モデルにはバージョン番号が付けられます。最初のモデルはバージョン 1 または `V1` になります。モデルバージョンを使用すると、データを更新したり、[高度な変換](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html)を使用したりしたときに、モデルバージョンを使用して予測精度の変化を確認できます。

モデルを表示する際は、SageMaker Canvas によってモデル履歴が表示されるため、構築したすべてのモデルバージョンを比較できます。不要になったバージョンを削除することもできます。複数のモデルバージョンを作成し、その精度を評価することで、モデルのパフォーマンスを反復的に向上させることができます。

**注記**  
テキスト予測モデルと画像予測モデルは 1 つのモデルバージョンのみをサポートします。

モデルバージョンを追加するには、既存のバージョンのクローンを作成するか、新しいバージョンを作成します。

既存のバージョンのコピーのクローンを作成すると、モデルレシピや入力データセットなどを含めて、これらが現在のモデル設定にコピーされます。または、新しいモデルレシピを設定するか、別のデータセットを選択する場合は、新しいバージョンを作成できます。

新しいバージョンを作成し、別のデータセットを選択する場合は、バージョン 1 のデータセットと同じターゲット列とスキーマを持つデータセットを選択する必要があります。

新しいバージョンを追加する前に、少なくとも 1 つのモデルバージョンを正常に構築する必要があります。その後、[モデルのバージョンを SageMaker モデルレジストリに登録する](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-register-model.html)ことができます。レジストリを使用して、モデルバージョンを追跡し、本番環境モデルの承認時に Studio Classic ユーザーとコラボレーションを行うことができます。

最初のモデルバージョンでクイックビルドを実行した場合は、バージョンを追加するときに標準ビルドを実行するオプションがあります。通常、標準ビルドの方が精度が高くなります。したがって、クイックビルド設定に自信がある場合は、標準ビルドを実行してモデルの最終バージョンを作成できます。クイックビルドと標準ビルドの違いの詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。

次の手順では、モデルバージョンを追加する方法を示します。この手順は、同じビルドタイプのバージョンを追加するのか、異なるビルドタイプ (クイックと標準) のバージョンを追加するのかによって異なります。同じビルドタイプのバージョンを追加するには、「**新しいモデルバージョンを追加するには**」の手順を使用します。クイックビルドの実行後に標準ビルドモデルバージョンを追加するには、「**標準ビルドを実行するには**」の手順に従います。

**新しいモデルバージョンを追加するには**

1. SageMaker Canvas アプリケーションを開きます。詳細については、「[Amazon SageMaker Canvas の開始方法](canvas-getting-started.md)」を参照してください。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。モデルを見つけるために、**[問題タイプでフィルタリング]** を選択できます。

1. モデルが開いたら、上部パネルの **[バージョンを追加]** ボタンを選択します。

1. ドロップダウンメニューから、以下のいずれかのオプションを選択します。

   1. **新しいバージョンを追加する** – このオプションを選択すると、**[ビルド]** タブが開き、新しいモデルバージョンのドラフトが表示されます。別のデータセットを選択し (スキーマが最初のモデルバージョンのデータセットのスキーマと一致する限り)、新しいモデルレシピを設定できます。モデルバージョンの構築の詳細については、「[モデルの構築](canvas-build-model-how-to.md)」を参照してください。

   1. **設定を使用して既存のバージョンのクローンを作成する** – クローンを作成するバージョンを選択するためのダイアログボックスが表示されます。目的のバージョンを選択したら、**[クローン]** を選択します。**[ビルド]** タブが開き、新しいモデルバージョンのドラフトが表示されます。モデルレシピ設定は、クローンのバージョンからコピーされます。モデルバージョンの構築の詳細については、「[モデルの構築](canvas-build-model-how-to.md)」を参照してください。

**標準ビルドを実行するには**

1. SageMaker Canvas アプリケーションを開きます。詳細については、「[Amazon SageMaker Canvas の開始方法](canvas-getting-started.md)」を参照してください。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。**[問題タイプでフィルタリング]** を選択すると、モデルをより簡単に見つけることができます。

1. モデルが開いたら、**[分析]** タブを選択します。

1. **[標準ビルド]** を選択します。  
![\[[標準ビルド] ボタンを示している Canvas モデルの [分析] タブ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-add-version-quick-to-standard.png)

   **[ビルド]** タブが開かれたモデルのドラフトページで、モデル設定を変更してビルドを開始できます。モデルバージョンの構築の詳細については、「[モデルの構築](canvas-build-model-how-to.md)」を参照してください。

これで、新しいモデルバージョンの構築が進行中になります。モデル構築に関するの詳細については、[カスタムモデルの仕組み](canvas-build-model.md) を参照してください。

モデルバージョンを構築した後は、モデルの詳細ページにいつでも戻り、すべてのバージョンを表示したり、バージョンを追加したりすることができます。以下のイメージは、モデルの **[バージョン]** ページを示しています。

![\[Canvas モデルのモデルのバージョンページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/model-versions.png)


**[バージョン]** ページでは、モデルバージョンごとに次の情報を表示できます。
+ **[ステータス]** — このフィールドには、モデルが現在構築中 (`In building`)、構築完了 (`Ready`)、構築失敗 (`Failed`)、または編集中 (`In draft`) のいずれかが表示されます。
+ **[モデルスコア]**、**[F1]**、**[精度]**、**[リコール]**、**[AUC]** — このページの **詳細メトリクスを表示]** トグルを有効にすると、これらのモデルメトリクスが表示されます。これらのメトリクスは、モデルの精度とパフォーマンスを示します。詳細については、「[Evaluate your model](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html)」を参照してください。
+ **[共有]** — このフィールドは、モデルバージョンを SageMaker Studio Classic ユーザーと共有したかどうかを示します。
+ **[モデルレジストリ]** — このフィールドは、そのバージョンをモデルレジストリに登録したかどうかを示します。詳細については、「[モデルのバージョンを SageMaker AI モデルレジストリに登録する](canvas-register-model.md)」を参照してください。

# MLOps
<a name="canvas-mlops"></a>

SageMaker Canvas で信頼できるモデルを構築したら、モデルを組織の機械学習運用 (MLOps) プロセスと統合することができます。MLOps には、本番環境で使用するモデルのデプロイや、継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインの設定などの一般的なタスクが含まれます。

以下のトピックでは、Canvas の機能を使用して Canvas で構築したモデルを本番環境で使用する方法について説明します。

**Topics**
+ [モデルのバージョンを SageMaker AI モデルレジストリに登録する](canvas-register-model.md)
+ [モデルをエンドポイントにデプロイする](canvas-deploy-model.md)
+ [デプロイを表示する](canvas-deploy-model-view.md)
+ [デプロイ設定を更新する](canvas-deploy-model-update.md)
+ [デプロイをテストする](canvas-deploy-model-test.md)
+ [エンドポイントを呼び出す](canvas-deploy-model-invoke.md)
+ [モデルのデプロイを削除する](canvas-deploy-model-delete.md)

# モデルのバージョンを SageMaker AI モデルレジストリに登録する
<a name="canvas-register-model"></a>

SageMaker Canvas では、モデルの複数のイテレーションまたはバージョンを構築して、時間の経過とともにモデルを改善することができます。より優れたトレーニングデータを取得したり、モデルの精度を向上する場合には、新しいバージョンのモデルの作成をお勧めします。モデルへのバージョンの追加方法の詳細については、「[Update a model](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-update-model.html)」を参照してください。

信頼できる[モデルを構築](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)したら、本番環境で使用する前に、組織のデータサイエンティストまたは MLOps エンジニアにモデルの評価とレビューを依頼することをお勧めします。これを行うには、モデルのバージョンを [SageMaker モデルレジストリに登録する](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)ことができます。SageMaker モデルレジストリは、データサイエンティストやエンジニアが機械学習 (ML) モデルをカタログ化し、モデルバージョンとそれに関連するメタデータ (トレーニングメトリクスなど) を管理するために使用できるリポジトリです。モデルの承認状況を管理および記録することもできます。

モデルバージョンを SageMaker モデルレジストリに登録すると、データサイエンティストまたは MLOps チームは、機械学習モデルを操作するためのウェブベースの統合開発環境 (IDE) である [SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) から SageMaker モデルレジストリにアクセスできるようになります。データサイエンティストまたは MLOps チームは、Studio Classic の SageMaker モデルレジストリインターフェイスでモデルを評価し、承認ステータスを更新できます。モデルが要件を満たさない場合、データサイエンティストまたは MLOps チームはステータスを `Rejected` に更新できます。モデルが要件を満たす場合、データサイエンティストまたは MLOps チームはステータスを `Approved` に更新できます。その後、[モデルをエンドポイントにデプロイ](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html#deploy-model-prereqs)したり、CI/CD パイプラインを使用して[モデルのデプロイを自動化](https://aws.amazon.com/blogs/machine-learning/building-automating-managing-and-scaling-ml-workflows-using-amazon-sagemaker-pipelines/)したりできます。SageMaker AI モデルレジストリ機能を使用すると、Canvas で構築されたモデルを組織の MLOps プロセスとシームレスに統合できます。

次の図は、Canvas で構築されたモデルバージョンを SageMaker モデルレジストリに登録して MLOps ワークフローに統合する例の概要を説明しています。

![\[MLOps ワークフローに統合するために Canvas に組み込まれたモデルバージョンを登録するステップ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-model-registration-diagram.jpg)


SageMaker モデルレジストリには、表形式、画像、テキストのモデルバージョンを登録できます。これには、時系列予測モデルと JumpStart ベースの[ファインチューニングされた基盤モデル](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat-fine-tune.html)が含まれます。

**注記**  
現時点では、Canvas に組み込まれた Amazon Bedrock ベースの、ファインチューニングされた基盤モデルを SageMaker モデルレジストリに登録することはできません。

以下のセクションでは、Canvas から SageMaker モデルレジストリへのモデルバージョンの登録方法について説明します。

## 権限の管理
<a name="canvas-register-model-prereqs"></a>

デフォルトでは、SageMaker モデルレジストリにモデルバージョンを登録するアクセス許可がユーザーに付与されています。SageMaker AI は、Canvas アプリケーションをホストする SageMaker AI ドメインの AWS IAM 実行ロールにアタッチされている [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーを介して、すべての新規および既存の Canvas ユーザープロファイルにこれらのアクセス許可を付与します。

Canvas 管理者が新しいドメインまたはユーザープロファイルを設定する場合、ドメインを設定し、「[開始方法ガイド](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)」の前提条件の指示に従うと、SageMaker AI は **[ML Ops 許可の設定]** オプションを使用してモデル登録アクセス許可を有効にします。このオプションはデフォルトで有効になっています。

Canvas 管理者はモデルの登録権限をユーザープロファイルレベルでも管理できます。例えば、管理者が一部のユーザープロファイルにはモデルの登録権限を付与し、他のユーザープロファイルからは権限を削除する場合、管理者は特定のユーザーの権限を編集できます。特定のユーザープロファイルでモデルの登録権限を無効にするには、次の手順に従います。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. ドメインのリストで、ユーザープロファイルのドメインを選択します。

1. **[ドメインの詳細]** ページで、権限を編集する **[ユーザープロファイル]** を選択します。

1. **[ユーザーの詳細]** ページで、**[編集]** を選択します。

1. 左側のナビゲーションペインで、**[Canvas の設定]** を選択します。

1. **[ML Ops 権限設定]** セクションで、**[モデルレジストリ登録権限を有効化]** トグルを無効にします。

1. **[送信]** を選択して、ドメインの設定の変更を保存します。

これで、ユーザープロファイルからモデルの登録権限が削除されます。

## モデルのバージョンを SageMaker AI モデルレジストリに登録する
<a name="canvas-register-model-register"></a>

SageMaker モデルレジストリは、*モデルグループ*の特定の問題を解決するために構築したすべてのモデルバージョンを追跡します。SageMaker Canvas モデルを構築して SageMaker モデルレジストリに登録すると、新しいモデルバージョンとしてモデルグループに追加されます。例えば、モデルの 4 つのバージョンを構築して登録すると、SageMaker モデルレジストリインターフェイスで作業するデータサイエンティストまたは MLOps チームは、モデルグループを表示し、モデルの 4 つのバージョンすべてを 1 か所で確認できます。

Canvas モデルを SageMaker モデルレジストリに登録すると、モデルグループが自動的に作成され、該当 Canvas モデル由来の名前が付けられます。オプションで、任意の名前に名前を変更したり、SageMaker モデルレジストリの既存のモデルグループを使用したりできます。モデルグループの作成方法の詳細については、「[Create a Model Group](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry-model-group.html)」を参照してください。

**注記**  
現時点では、Canvas で構築されたモデルは同じアカウントの SageMaker モデルレジストリにのみ登録できます。

Canvas アプリケーションから SageMaker モデルレジストリにモデルバージョンを登録するには、次の手順に従います。

1. SageMaker Canvas アプリケーションを開きます。

1. 左側のナビゲーションペインで **[自分のモデル]** を選択します。

1. **[自分のモデル]** ページで、モデルを選択します。**[問題タイプでフィルタリング]** で、モデルをより簡単に見つけることができます。

1. モデルを選択すると、**[バージョン]** ページが開き、モデルのすべてのバージョンが一覧表示されます。**[詳細メトリクスを表示]** トグルを有効化すると、**[リコール]** や **[精度]** などの詳細メトリクスが表示され、モデルのバージョンを比較したり、登録するバージョンを判断したりできます。

1. モデルバージョンのリストの登録するバージョンで、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。または、登録するバージョンをダブルクリックして、バージョン詳細ページで **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. ドロップダウンリストで、**[モデルレジストリに追加]** を選択します。**[モデルレジストリに追加]** ダイアログボックスが開きます。

1. **[モデルレジストリに追加]** ダイアログボックスで、次の操作を行います。

   1. (オプション) **[SageMaker Studio Classic モデルグループ]** セクションの **[モデルグループ名]** フィールドに、バージョンを登録するモデルグループの名前を入力します。SageMaker AI が作成する新しいモデルグループの名前を指定することも、既存のモデルグループを指定することもできます。このフィールドを指定しない場合、Canvas はモデルと同じ名前のデフォルトのモデルグループにバージョンを登録します。

   1. **[Add]** (追加) を選択します。

これで、モデルバージョンが SageMaker モデルレジストリのモデルグループに登録されたはずです。SageMaker モデルレジストリのモデルグループにモデルバージョンを登録すると、Canvas モデルのそれ以降のバージョンはすべて同じモデルグループに登録されます (登録することを選択した場合)。バージョンを別のモデルグループに登録する場合は、SageMaker モデルレジストリにアクセスして、[モデルグループを削除する](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry-delete-model-group.html)必要があります。その後、モデルバージョンを新しいモデルグループに再登録できます。

モデルのステータスを確認するには、Canvas アプリケーションのモデルの **[バージョン]** ページに戻ります。このページには、各バージョンの **[モデルレジストリ]** ステータスが表示されます。ステータスが `Registered` の場合は、モデルは正常に登録されています。

登録したモデルバージョンの詳細を確認したい場合は、**[モデルレジストリ]** ステータスの **[登録済み]** フィールドにカーソルを合わせると、**[モデルレジストリの詳細]** ポップアップボックスが表示されます。これらの詳細には、次のような情報が含まれています。
+ **[モデルパッケージグループ名]** は、使用しているバージョンが SageMaker モデルレジストリに登録されているモデルグループです。
+ **[承認ステータス]** は、`Pending Approval`、`Approved`、`Rejected` のいずれかになります。Studio Classic ユーザーが SageMaker モデルレジストリのバージョンを承認または拒否した場合、モデルバージョンページを更新すると、そのステータスが更新されます。

以下のスクリーンショットは、**[モデルレジストリの詳細]** ボックス、およびこの特定のモデルバージョンの **[承認]** ステータス (`Approved`) を示しています。

![\[Canvas アプリケーションの SageMaker モデルレジストリ詳細ボックスのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/approved-mr.png)


# モデルをエンドポイントにデプロイする
<a name="canvas-deploy-model"></a>

Amazon SageMaker Canvas では、モデルをエンドポイントにデプロイして予測を行うことができます。SageMaker AI は、選択したコンピューティングインスタンスを使用して、エンドポイントでモデルをホストするための ML インフラストラクチャを提供します。次に、エンドポイントを*呼び出し* (予測リクエストを送信)、モデルからリアルタイム予測を取得できます。この機能を使用すると、本番環境でモデルを使用して受信リクエストに応答し、モデルを既存のアプリケーションやワークフローと統合できます。

開始するには、デプロイするモデルが必要です。構築したカスタムモデルバージョン、Amazon SageMaker JumpStart 基盤モデル、ファインチューニングされた JumpStart 基盤モデルをデプロイできます。Canvas でのモデル構築の詳細については、「[カスタムモデルの仕組み](canvas-build-model.md)」を参照してください。Canvas での JumpStart 基盤モデルの詳細については、「[SageMaker Canvas の生成 AI 基盤モデル](canvas-fm-chat.md)」を参照してください。

次の「**権限の管理**」セクションを確認してから、「**モデルをデプロイする**」セクションで新しいデプロイの作成を開始します。

## 権限の管理
<a name="canvas-deploy-model-prereqs"></a>

デフォルトでは、SageMaker AI ホスティングエンドポイントにモデルをデプロイするアクセス許可がユーザーに付与されています。SageMaker AI は、Canvas アプリケーションをホストする SageMaker AI ドメインの AWS IAM 実行ロールにアタッチされている [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) ポリシーを介して、すべての新規および既存の Canvas ユーザープロファイルにこれらのアクセス許可を付与します。

Canvas 管理者が新しいドメインまたはユーザープロファイルを設定する場合、ドメインを設定し、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」の前提条件の指示に従うと、SageMaker AI は **[Canvas モデルの直接デプロイを有効にする]** オプションを使用してモデルデプロイのアクセス許可を有効にします。このオプションはデフォルトで有効になっています。

Canvas 管理者はモデルのデプロイ権限をユーザープロファイルレベルでも管理できます。例えば、管理者がドメインの設定時にすべてのユーザープロファイルにモデルのデプロイ権限を付与しない場合は、ドメインの作成後に特定のユーザーに権限を付与できます。

特定のユーザープロファイルのモデルのデプロイ権限を変更するには、次の手順に従います。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. ドメインのリストで、ユーザープロファイルのドメインを選択します。

1. **[ドメインの詳細]** ページで、**[ユーザープロファイル]** タブを選択します。

1. **[ユーザープロファイル]** を選択します。

1. ユーザープロファイルページで、**[アプリケーション設定]** タブを選択します。

1. **[Canvas]** セクションで、**[編集]** を選択します。

1. **[ML Ops 設定]** セクションで、**[Canvas モデルの直接デプロイを有効にする]** トグルをオンにして、デプロイ権限を有効にします。

1. **[送信]** を選択して、ドメインの設定の変更を保存します。

これでユーザープロファイルにモデルのデプロイ権限が付与されます。

ドメインまたはユーザープロファイルに権限を付与したら、権限の変更を適用するために、ユーザーが Canvas アプリケーションからログアウトし、再度ログインすることを確認してください。

## モデルをデプロイする
<a name="canvas-deploy-model-deploy"></a>

モデルのデプロイを開始するには、Canvas で新しいデプロイを作成し、モデルのホストに使用するコンピューティングインスタンスのタイプや数など、ML インフラストラクチャとともにデプロイするモデルバージョンを指定します。

Canvas では、モデルタイプに基づいてインスタンスのデフォルトのタイプと数を提案します。[Amazon SageMaker の料金ページ](https://aws.amazon.com/sagemaker/pricing/)でさまざまな SageMaker インスタンスタイプの詳細を確認することもできます。エンドポイントがアクティブな間は、SageMaker AI インスタンスの料金に基づいて課金されます。

JumpStart 基盤モデルをデプロイする際には、デプロイ時間の長さを指定するオプションもあります。モデルはエンドポイントに無期限にデプロイできます (つまり、エンドポイントはデプロイを削除するまでアクティブになります)。あるいは、エンドポイントを短期間のみ必要とし、コストを削減したい場合は、指定された期間のみエンドポイントにモデルをデプロイできます。その後、SageMaker AI はエンドポイントをシャットダウンします。

**注記**  
指定の期間だけモデルをデプロイする場合は、エンドポイントの存続期間中、Canvas アプリケーションにログインしたままにします。アプリケーションからログアウトするか、アプリケーションを削除した場合、Canvas は指定された時間にエンドポイントをシャットダウンできなくなります。

モデルが SageMaker AI ホスティングの[リアルタイム推論エンドポイント](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)にデプロイされたら、エンドポイントを*呼び出し*て、予測を開始できます。

Canvas アプリケーションからモデルをデプロイする方法はいくつかあります。モデルのデプロイオプションには、次のいずれかの方法を使用してアクセスできます。
+ Canvas アプリケーションの **[マイモデル]** ページで、デプロイするモデルを選択します。次に、モデルの **[バージョン]** ページから、モデルバージョンの横にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、 **[デプロイ]** を選択します。
+ モデルバージョンの詳細ページにある **[分析]** タブで、**[デプロイ]** オプションを選択します。
+ モデルバージョンの詳細ページにある **[予測]** タブで、ページの上部にある **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、 **[デプロイ]** を選択します。
+ Canvas アプリケーションの **[ML オペレーション]** ページで、**[デプロイ]** タブを選択し、**[デプロイの作成]** を選択します。
+ JumpStart 基盤モデルおよびファインチューニングされた基盤モデルの場合は、Canvas アプリケーションの **[Ready-to-use モデル]** ページに移動します。**[コンテンツの生成、抽出、要約]** を選択します。次に、デプロイする JumpStart 基盤モデルまたはファインチューニングされた基盤モデルを見つけます。モデルを選択し、モデルのチャットページで **[デプロイ]** ボタンを選択します。

これらのどの方法によっても、**[モデルをデプロイ]** サイドパネルが開かれます。ここではモデルのデプロイ設定を指定します。このパネルからモデルをデプロイするには、以下を実行します。

1. (オプション) **[ML オペレーション]** ページからデプロイを作成する場合は、**[モデルとバージョンを選択する]** オプションがあります。ドロップダウンメニューを使用して、デプロイするモデルとモデルのバージョンを選択します。

1. **[デプロイ名]** フィールドに名前を入力します。

1. (JumpStart 基盤モデルとファインチューニングされた基盤モデルのみ) **[デプロイの長さ]** を選択します。**[無制限]** を選択すると、エンドポイントはシャットダウンされるまでアクティブのままになります。または、**[長さを指定]** を選択してから、エンドポイントをアクティブのままにする期間を入力します。

1. **[インスタンスタイプ]** に対し、SageMaker AI はモデルに適したデフォルトのインスタンスタイプと番号を検出します。ただし、モデルのホストに使用するインスタンスタイプは変更できます。
**注記**  
 AWS アカウントで選択したインスタンスタイプのインスタンスクォータを使い切った場合は、クォータの引き上げをリクエストできます。デフォルトのクォータと、引き上げのリクエスト方法の詳細については、*AWS 全般のリファレンスガイド*の「[Amazon SageMaker エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)」を参照してください。

1. **[インスタンス数]** では、エンドポイントに使用されるアクティブなインスタンスの数を設定できます。SageMaker AI は、モデルに適したデフォルトの数を検出しますが、この数は変更できます。

1. モデルをデプロイする準備ができたら、**[デプロイ]** を選択します。

これで、モデルがエンドポイントにデプロイされます。

# デプロイを表示する
<a name="canvas-deploy-model-view"></a>

Amazon SageMaker Canvas でモデルのデプロイのステータスまたは詳細を確認することをお勧めします。例えば、デプロイが失敗した場合は、トラブルシューティングを行うための詳細を確認できます。

Canvas モデルのデプロイは、Canvas アプリケーションまたは Amazon SageMaker AI コンソールから表示できます。

Canvas からデプロイの詳細を表示するには、次のいずれかの手順を選択します。

**[ML オペレーション]** ページからデプロイの詳細を表示するには、以下を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションペインで、**[ML オペレーション]** を選択します。

1. **[デプロイ]** タブを選択します。

1. リストからデプロイを名前で選択します。

モデルバージョンのページからデプロイの詳細を表示するには、以下を実行します。

1. SageMaker Canvas アプリケーションで、モデルバージョンの詳細ページに移動します。

1. **[デプロイ]** タブを選択します。

1. そのモデルバージョンに関連付けられているすべてのデプロイ設定が一覧表示されている **[デプロイ]** セクションで、デプロイを見つけます。

1. **[その他のオプション]** アイコン (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[詳細を表示]** を選択して詳細ページを開きます。

デプロイの詳細ページが開き、最新の予測時刻、エンドポイントのステータスと設定、現在エンドポイントにデプロイされているモデルバージョンなどの情報を表示できます。

現在アクティブな Canvas ワークスペースインスタンスとアクティブなエンドポイントは、[SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/) の **SageMaker AI ダッシュボード** からも表示できます。Canvas エンドポイントは、作成した他の SageMaker ホスティングエンドポイントとともに一覧表示され、Canvas タグでエンドポイントを検索してフィルタリングできます。

次のスクリーンショットは、SageMaker AI ダッシュボードを示しています。**[Canvas]** セクションでは、1 つのワークスペースインスタンスが稼働中であり、4 つのエンドポイントがアクティブであることがわかります。

![\[アクティブな Canvas ワークスペースインスタンスとエンドポイントを示す SageMaker ダッシュボードのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-sagemaker-dashboard.png)


# デプロイ設定を更新する
<a name="canvas-deploy-model-update"></a>

Amazon SageMaker Canvas のエンドポイントにデプロイしたモデルのデプロイ設定を更新できます。例えば、更新されたモデルバージョンをエンドポイントにデプロイしたり、容量のニーズに基づいて、エンドポイントの背後にあるインスタンスタイプやインスタンス数を更新したりできます。

Canvas アプリケーションからデプロイを更新する方法はいくつかあります。次のいずれかの方法を使用できます。
+ Canvas アプリケーションの **[ML オペレーション]** ページで、**[デプロイ]** タブを選択し、更新するデプロイを選択します。次に、**[設定の更新]** を選択します。
+ モデルバージョンの詳細ページにある **[デプロイ]** タブでは、そのバージョンのデプロイを表示できます。デプロイの横にある **[その他のオプション]** アイコン (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択し、**[設定の更新]** を選択します。

上記のどちらの方法でも、**[設定の更新]** サイドパネルが開き、デプロイ設定を変更できるようになります。設定を更新するには、以下を実行します。

1. **[バージョンを選択]** ドロップダウンメニューでは、エンドポイントにデプロイする別のモデルバージョンを選択できます。
**注記**  
デプロイ設定を更新する場合は、デプロイする別のモデルバージョンのみを選択できます。別のモデルをデプロイするには、新しいデプロイを作成します。

1. **[インスタンスタイプ]** では、モデルをホストするための別のインスタンスタイプを選択できます。

1. **[インスタンス数]** では、エンドポイントに使用されるアクティブなインスタンスの数を変更できます。

1. **[保存]** を選択します。

これで、デプロイ設定が更新されるはずです。

# デプロイをテストする
<a name="canvas-deploy-model-test"></a>

Amazon SageMaker Canvas アプリケーションを使用して、エンドポイントを呼び出すか、単一の予測リクエストを行うことで、モデルのデプロイをテストできます。この機能を使用すると、本番環境でエンドポイントをプログラムで呼び出す前に、エンドポイントがリクエストに応答することを確認できます。

## カスタムモデルのデプロイをテストする
<a name="canvas-deploy-model-test-custom"></a>

**[ML オペレーション]** ページからカスタムモデルのデプロイにアクセスして 1 回の呼び出しを行うことで、カスタムモデルのデプロイをテストできます。これによって予測が返され、予測が正しい確率が示されます。

**注記**  
実行時間は、呼び出しを行って Canvas のエンドポイントからレスポンスを取得するのにかかる時間の推定です。レイテンシーメトリクスの詳細については、「[SageMaker AI エンドポイント呼び出しメトリクス](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-endpoint-invocation)」を参照してください。

Canvas アプリケーションを使用してエンドポイントをテストするには、以下を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションパネルで、**[ML オペレーション]** を選択します。

1. **[デプロイ]** タブを選択します。

1. デプロイのリストから、呼び出すエンドポイントを持つデプロイを選択します。

1. デプロイの詳細ページで、**[デプロイをテスト]** タブを選択します。

1. デプロイのテストページでは、**[値]** フィールドを変更して新しいデータポイントを指定できます。時系列予測モデルでは、予測を行う **[項目 ID]** を指定します。

1. 値を変更したら、**[更新]** を選択して予測結果を取得します。

予測がロードされ、呼び出しが成功したかどうか、およびリクエストの処理にかかった時間を示す **[呼び出し結果]** フィールドが表示されます。

次のスクリーンショットは、Canvas アプリケーションで実行された予測を示している **[デプロイのテスト]** タブです。

![\[デプロイされたモデルのテスト予測を示している Canvas アプリケーション。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/canvas-test-deployments.png)


数値予測と時系列予測を除くすべてのモデルタイプについて、予測によって次のフィールドが返されます。
+  **predicted\$1label** – 予測された出力
+  **probability** – 予測ラベルが正しい確率
+  **labels** – 使用可能なすべてのラベルのリスト
+  **probabilities** – 各ラベルに対応する確率 (このリストの順序はラベルの順序に一致します)

数値予測モデルの場合、予測には **score** フィールドのみが含まれます。このフィールドは、家の予測価格などの、モデルの予測出力です。

時系列予測モデルの場合、予測は分位数別に予測を示すグラフになります。**[スキーマビュー]** を選択すると、各分位数の予測数値を表示できます。

デプロイテストページで引き続き単一の予測を行うことも、次のセクション「[エンドポイントを呼び出す](canvas-deploy-model-invoke.md)」を参照して、アプリケーションからプログラムでエンドポイントを呼び出す方法を学ぶこともできます。

## JumpStart 基盤モデルのデプロイをテストする
<a name="canvas-deploy-model-test-js"></a>

Canvas アプリケーションを使用してデプロイされた JumpStart 基盤モデルとチャットして、コードを使用してアプリケーションを呼び出す前に、その機能をテストできます。

デプロイされた JumpStart 基盤モデルとチャットするには、以下を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションパネルで、**[ML オペレーション]** を選択します。

1. **[デプロイ]** タブを選択します。

1. デプロイのリストから、呼び出すデプロイを見つけて、**[その他のオプション]** アイコン (![\[More options icon for a model deployment.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. コンテキストメニューから、**[デプロイのテスト]** を選択します。

1. JumpStart 基盤モデルで新しい **[コンテンツの生成、抽出、要約]** チャットが開き、プロンプトの入力を開始できるようになります。このチャットからのプロンプトは、SageMaker AI ホスティングエンドポイントへのリクエストとして送信されることに注意が必要です。

# エンドポイントを呼び出す
<a name="canvas-deploy-model-invoke"></a>

**注記**  
SageMaker AI エンドポイントをプログラムで呼び出す前に、[Amazon SageMaker Canvas でモデルのデプロイをテスト](canvas-deploy-model-test.md)することをお勧めします。

SageMaker AI エンドポイントにデプロイした Amazon SageMaker Canvas モデルは、本番環境でアプリケーションとともに使用できます。他の [SageMaker AI リアルタイムエンドポイント](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)を呼び出すのと同じ方法で、エンドポイントをプログラムで呼び出します。エンドポイントをプログラムで呼び出すと、「[デプロイをテストする](canvas-deploy-model-test.md)」で説明されているのと同じフィールドを含むレスポンスオブジェクトが返されます。

エンドポイントをプログラムで呼び出す方法の詳細については、「[リアルタイム推論用のモデルを呼び出す](realtime-endpoints-test-endpoints.md)」を参照してください。

次の Python の例は、モデルタイプに基づいてエンドポイントを呼び出す方法を示します。

## JumpStart 基盤モデル
<a name="canvas-invoke-js-example"></a>

次の例は、エンドポイントにデプロイした JumpStart 基盤モデルを呼び出す方法を示します。

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame(
    [['feature_column1', 'feature_column2'], 
    ['feature_column1', 'feature_column2']]
).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## 数値予測モデルとカテゴリ予測モデル
<a name="canvas-invoke-tabular-example"></a>

次の例は、数値予測モデルまたはカテゴリ予測モデルを呼び出す方法を示します。

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame(['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## 時系列予測モデル
<a name="canvas-invoke-forecast-example"></a>

次の例は、時系列予測モデルを呼び出す方法を示します。時系列予測モデルの呼び出しをテストする方法の完全な例については、「[Time-Series Forecasting with Amazon SageMaker Autopilot](https://github.com/aws/amazon-sagemaker-examples/blob/eef13dae197a6e588a8bc111aba3244f99ee0fbb/autopilot/autopilot_time_series.ipynb)」を参照してください。

```
import boto3
import pandas as pd

csv_path = './real-time-payload.csv'
data = pd.read_csv(csv_path)

client = boto3.client("runtime.sagemaker")

body = data.to_csv(index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## 画像予測モデル
<a name="canvas-invoke-cv-example"></a>

次の例は、画像予測モデルを呼び出す方法を示します。

```
import boto3
client = boto3.client("runtime.sagemaker")
with open("example_image.jpg", "rb") as file:
    body = file.read()
    response = client.invoke_endpoint(
        EndpointName="endpoint_name",
        ContentType="application/x-image",
        Body=body,
        Accept="application/json"
    )
```

## テキスト予測モデル
<a name="canvas-invoke-nlp-example"></a>

次の例は、テキスト予測モデルを呼び出す方法を示します。

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame([["Example text 1"], ["Example text 2"]]).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

# モデルのデプロイを削除する
<a name="canvas-deploy-model-delete"></a>

モデルのデプロイは Amazon SageMaker Canvas アプリケーションから削除できます。またこのアクションによって、SageMaker AI コンソールからエンドポイントが削除され、エンドポイント関連のリソースがシャットダウンされます。

**注記**  
必要に応じて、[SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)または SageMaker AI の `DeleteEndpoint` API を使用してエンドポイントを削除できます。詳細については、「[エンドポイントとリソースを削除する](realtime-endpoints-delete-resources.md)」を参照してください。ただし、Canvas アプリケーションではなく SageMaker AI コンソールまたは API を使用してエンドポイントを削除した場合、Canvas のデプロイリストは自動的に更新されません。また、Canvas アプリケーションからデプロイを削除して、リストからデプロイを取り除く必要があります。

Canvas でデプロイを削除するには、以下を実行します。

1. SageMaker Canvas アプリケーションを開きます。

1. 左のナビゲーションパネルで、**[ML オペレーション]** を選択します。

1. **[デプロイ]** タブを選択します。

1. デプロイのリストから、削除するデプロイを選択します。

1. デプロイの詳細ページの上部で、**[その他のオプション]** アイコン (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. **[デプロイを削除]** を選択します。

1. **[デプロイを削除]** ダイアログボックスで、**[削除]** を選択します。

これでデプロイと SageMaker AI ホスティングエンドポイントが Canvas と SageMaker AI コンソールの両方から削除されます。

# 自動化の管理方法
<a name="canvas-manage-automations"></a>

SageMaker Canvas では、データセットを更新したり、スケジュールに従ってモデルから予測を生成したりする自動化を作成できます。例えば、新しい配送データを毎日受け取る場合、データセットの自動更新と、データセットが更新されるたびに実行される自動バッチ予測を設定できます。これらの機能を使用すると、自動化されたワークフローを設定して、データセットを手動で更新して予測を行う時間を短縮できます。

**注記**  
Canvas アプリケーションで設定できる自動更新は最大 20 件までです。自動化は、Canvas アプリケーションにログインしている間のみアクティブになります。Canvas からログアウトすると、ログインし直すまで自動ジョブは一時停止します。

以下のセクションでは、既存の自動化の設定の表示、編集、削除方法について説明します。自動化の設定方法については、以下のトピックを参照してください。
+ データセットの自動更新を設定する方法については、「[データセットを更新する](canvas-update-dataset.md)」を参照してください。
+ 自動バッチ予測を設定する方法については、「[SageMaker Canvas でのバッチ予測](canvas-make-predictions-batch.md)」を参照してください。

**Topics**
+ [自動化を表示する](canvas-manage-automations-view.md)
+ [自動設定を編集する](canvas-manage-automations-edit.md)
+ [自動設定を削除する](canvas-manage-automations-delete.md)

# 自動化を表示する
<a name="canvas-manage-automations-view"></a>

Canvas の左側のナビゲーションペインに移動し **[ML オペレーション]** を選択して、すべての自動更新ジョブを表示することもできます。**[ML オペレーション]** ページは、データセットの自動更新と自動バッチ予測の両方の自動化を組み合わせたものです。**[自動化]** タブには、次のサブタブが表示されます。
+ **[すべてのジョブ]** — Canvas が実行した **[データセットの更新]** または **[バッチ予測]** ジョブのすべてのインスタンスを確認できます。各ジョブには、関連する **[入力データセット]**、関連する自動更新設定の**[設定名]**、ジョブが成功したかどうかを示す **[ステータス]** などのフィールドが表示されます。ジョブは設定名でフィルタリングできます。
  + データセット更新ジョブでは、データセットの最新バージョン、または最新のジョブを選択してデータセットをプレビューできます。
  + バッチ予測ジョブでは、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択して、そのジョブの予測をプレビューまたはダウンロードできます。**[詳細を表示]** を選択して、予測ジョブに関する詳細を表示することもできます。バッチ予測ジョブの詳細については、「[バッチ予測ジョブを表示する](canvas-make-predictions-batch-auto-view.md)」を参照してください。
+ **[設定]** — 作成した **[データセットの更新]** 設定と **[バッチ予測** 設定をすべて表示できます。設定ごとに、関連する **[入力データセット]** やジョブの **[頻度]** などのフィールドが表示されます。**[自動更新]** トグルを無効または有効にして、自動更新を一時停止または再開することもできます。特定の設定の **[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択すると、**[設定のすべてのジョブを表示]**、**[設定を更新]**、または **[設定を削除]** を選択できます。

# 自動設定を編集する
<a name="canvas-manage-automations-edit"></a>

自動設定が完了した後に、変更を加える必要がある場合があります。データセットの自動更新では、データをインポートする Canvas の Amazon S3 の場所、更新の頻度、および開始時間を変更できます。自動バッチ予測では、設定で更新を追跡するデータセットを変更できます。また、自動化を無効にして、再開するまで更新を一時的に一時停止することもできます。

以下のセクションでは、各タイプの設定を更新する方法について説明します。

**注記**  
自動バッチ予測はターゲットデータセットが更新されるたびに実行されるため、自動バッチ予測の頻度を変更することはできません。

**Topics**
+ [データセットの自動更新設定を編集する](canvas-manage-automations-edit-dataset.md)
+ [自動バッチ予測設定を編集する](canvas-manage-automations-edit-batch.md)

# データセットの自動更新設定を編集する
<a name="canvas-manage-automations-edit-dataset"></a>

更新頻度の変更など、データセットの自動更新設定を変更する場合があります。また、自動更新設定を無効にして、データセットの更新を一時停止する場合もあります。

データセットの自動更新設定を変更するには、次の手順に従います。

1. Canvas の左側のナビゲーションペインで **[ML オペレーション]** を選択します。

1. **[自動化]** タブを選択します。

1. **[設定]** タブを選択します。

1. 自動更新設定で、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. ドロップダウンメニューで、**[構成を更新]** を選択します。データセットの **[自動更新]** タブが表示されます。

1. 設定に変更を加えます。変更が完了したら、**[保存]** を選択します。

データセットの更新を一時停止するには、自動設定を無効にします。自動更新を無効にする 1 つの方法は次のとおりです。

1. Canvas の左側のナビゲーションペインで **[ML オペレーション]** を選択します。

1. **[自動化]** タブを選択します。

1. **[設定]** タブを選択します。

1. リストで設定を探し、**[自動更新]** トグルを無効にします。

これで、データセットの自動更新が一時停止されます。このトグルを有効に戻すと、いつでも更新スケジュールを再開できます。

# 自動バッチ予測設定を編集する
<a name="canvas-manage-automations-edit-batch"></a>

バッチ予測設定を編集する際、ターゲットデータセットは変更できますが、頻度は変更できません (自動バッチ予測はデータセットが更新されるたびに行われるため)。

自動バッチ予測設定を変更するには、次の手順に従います。

1. Canvas の左側のナビゲーションペインで **[ML オペレーション]** を選択します。

1. **[自動化]** タブを選択します。

1. **[設定]** タブを選択します。

1. 自動更新設定で、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. ドロップダウンメニューで、**[構成を更新]** を選択します。データセットの **[自動更新]** タブが表示されます。

1. **[バッチ予測の自動化]** ダイアログボックスが開きます。別のデータセットを選択し、**[設定]** を選択して変更を保存できます。

これで、自動バッチ予測の設定が更新されます。

自動バッチ予測を一時停止するには、自動設定を無効にします。設定を無効にするには、次の手順に従います。

1. Canvas の左側のナビゲーションペインで **[ML オペレーション]** を選択します。

1. **[自動化]** タブを選択します。

1. **[設定]** タブを選択します。

1. リストで設定を探し、**[自動更新]** トグルを無効にします。

これで、データセットの自動バッチ予測は一時停止されます。このトグルを有効に戻すと、いつでも更新スケジュールを再開できます。

# 自動設定を削除する
<a name="canvas-manage-automations-delete"></a>

自動設定を削除して、自動化されたワークフローを SageMaker Canvas で停止する場合があります。

データセットの自動更新または自動バッチ予測の設定を削除するには、次の手順に従います。

1. Canvas の左側のナビゲーションペインで **[ML オペレーション]** を選択します。

1. **[自動化]** タブを選択します。

1. **[設定]** タブを選択します。

1. 自動更新設定を見つけて、**[その他のオプション]** アイコン (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) を選択します。

1. **[設定を削除]** を選択します。

1. ポップアップ表示されるダイアログボックスで、**[削除]** を選択します。

これで、自動更新設定が削除されます。

# Amazon SageMaker Canvas からのログアウト
<a name="canvas-log-out"></a>

Amazon SageMaker Canvas で作業が完了したら、*ワークスペースインスタンス*を自動的に終了するようにアプリケーションをログアウトまたは設定できます。ワークスペースインスタンスは、Canvas アプリケーションを起動するたびに専用で使用するものであり、インスタンスが実行されている限り課金されます。ワークスペースインスタンスをログアウトまたは終了すると、ワークスペースインスタンスの請求は停止します。詳細については、「[Amazon SageMaker の料金](https://aws.amazon.com/sagemaker/pricing/)」を参照してください。

以下の各セクションでは、Canvas アプリケーションからログアウトする方法と、スケジュールに基づいて自動的にシャットダウンするようにアプリケーションを設定する方法について説明します。

## Canvas からログアウトする
<a name="canvas-log-out-how-to"></a>

Canvas からログアウトしても、モデルとデータセットは影響を受けません。クイックモデルビルドや標準モデルビルド、または[大規模データ処理ジョブ](canvas-export-data.md#canvas-export-data-s3)は、ログアウトしても実行され続けます。

ログアウトするには、SageMaker Canvas アプリケーションの左パネルにある **[ログアウト]** ボタン (![\[Filter icon in the SageMaker Canvas app.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/canvas/logout-icon.png)) を選択します。

ブラウザタブを閉じてコンソールで[アプリケーションを削除](canvas-manage-apps-delete.md)することで、SageMaker Canvas アプリケーションからログアウトすることもできます。

ログアウトすると、SageMaker Canvas は別のタブで再起動するように指示します。ログインには約 1 分かかります。SageMaker Canvas を設定する管理者がいる場合は、その管理者から指示に従ってログインし直してください。管理者がいない場合は、「[Amazon SageMaker Canvas を設定するための前提条件](canvas-getting-started.md#canvas-prerequisites)」の SageMaker Canvas へのアクセス手順を参照してください。

## Canvas を自動的にシャットダウンする
<a name="canvas-auto-shutdown"></a>

Canvas 管理者の場合は、コストを削減するために定期的にアプリケーションをシャットダウンすることができます。アクティブな Canvas アプリケーションをシャットダウンするスケジュールを作成するか、*アイドル状態* (ユーザーが 2 時間アクティブになっていない状態) になったらすぐに Canvas アプリケーションをシャットダウンする自動化を作成できます。

これらのソリューションは、`DeleteApp`API を呼び出す AWS Lambda 関数を使用して作成し、特定の条件に応じて Canvas アプリケーションを削除できます。これらのソリューションと使用可能な CloudFormation テンプレートへのアクセスの詳細については、ブログ[「アイドル状態のアプリの自動シャットダウンによる Amazon SageMaker Canvas のコストの最適化](https://aws.amazon.com/blogs/machine-learning/optimizing-costs-for-amazon-sagemaker-canvas-with-automatic-shutdown-of-idle-apps/)」を参照してください。

**注記**  
アイドル状態のシャットダウンスケジュールの設定時にエラーが発生した場合、または CloudWatch エラーが発生した場合には、[Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) メトリクスが欠落することがあります。欠落しているメトリクスを監視する CloudWatch アラームを追加することをお勧めします。この問題が発生した場合は、 サポート にお問い合わせください。

# 制限事項とトラブルシューティング
<a name="canvas-limits"></a>

以下のセクションでは、Amazon SageMaker Canvas を使用する場合に適用できるトラブルシューティングのヘルプと制限事項について概説します。これらのトピックは、問題が発生した際のトラブルシューティングに役立ちます。

## SageMaker AI コンソールを介したアクセス許可の付与に関する問題のトラブルシューティング
<a name="canvas-troubleshoot-trusted-services"></a>

Canvas の基本アクセス許可または Ready-to-use モデルのアクセス許可をユーザーに付与できない場合は、ユーザーに他の AWS サービスとの複数の信頼関係を持つ AWS IAM 実行ロールがある可能性があります。信頼関係とは、どのプリンシパル (ユーザー、ロール、アカウント、またはサービス) がそのロールを引き受けることができるかを定義する、ロールにアタッチされたポリシーです。例えば、実行ロールが Amazon SageMaker AI と Amazon Forecast の両方と信頼関係にある場合、ユーザーに追加の Canvas アクセス許可を付与する際に問題が発生する可能性があります。

この問題を解決するには、次のいずれかのオプションを選択します。

### 1. 1 つを除いて、すべての信頼されたサービスをロールから削除します。
<a name="canvas-troubleshoot-trusted-services-remove"></a>

このソリューションでは、ユーザープロファイルの IAM ロールの信頼関係を編集し、SageMaker AI を除くすべての AWS サービスを削除する必要があります。

IAM 実行ロールの信頼関係を編集するには、次の手順に従います。

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) に移動します。

1. IAM コンソールのナビゲーションペインで **[Roles]** (ロール) を選択します。コンソールには、アカウントにあるロールが表示されます。

1. 変更するロールの名前を選択した後、詳細ページの **[Trust relationships]** (信頼関係) タブを開きます。

1. **[Edit trust policy]** (信頼ポリシーを編集) を選択します。

1. **[信頼ポリシーの編集エディタ]** に以下の内容を貼り付けた後、**[ポリシーを更新]** を選択します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

また、IAM CLI を使用してこのポリシードキュメントを更新することも可能です。詳細については、「*IAM Command Line Reference*」の「[update-trust](https://docs.aws.amazon.com/cli/latest/reference/ds/update-trust.html)」を参照してください。

これで、ユーザーに Canvas 基本権限または Ready-To-use モデル権限を付与し直すことができます。

### 2. 1 つ以下の信頼されたサービスを持つ別のロールを使用します。
<a name="canvas-troubleshoot-trusted-services-alternate"></a>

このソリューションでは、ユーザープロファイルに別の IAM ロールを指定する必要があります。代替の IAM ロールがある場合は、このオプションを使用します。

ユーザーに別の実行ロールを指定するには、次の手順に従います。

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理設定]** で、**[ドメイン]** を選択します。

1. ドメインのリストから、ユーザープロファイルのリストを表示するドメインを選択します。

1. **[ドメインの詳細]** ページで、**[ユーザープロファイル]** タブを選択します。

1. 権限を編集するユーザーを選択します。**[ユーザーの詳細]** ページで、**[編集]** を選択します。

1. **[全般設定]** ページで、**[実行ロール]** ドロップダウンリストを選択し、使用するロールを選択します。

1. **[送信]** を選択して、ユーザープロファイルへの変更を保存します。

これで、ユーザーは単一の信頼できるサービス (SageMaker AI) でのみ実行ロールを使用することになります。

これで、ユーザーに Canvas 基本権限または Ready-To-use モデル権限を付与し直すことができました。

### 3. SageMaker AI ドメイン設定でトグルを使用する代わりに、 AWS 管理ポリシーを実行ロールに手動でアタッチします。
<a name="canvas-troubleshoot-trusted-services-manual"></a>

ドメイン設定またはユーザープロファイル設定のトグルを使用する代わりに、ユーザーに正しい権限を付与する AWS マネージドポリシーを手動でアタッチできます。

ユーザーに Canvas の基本権限を付与するには、[AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) ポリシーをアタッチします。ユーザーに Ready-to-use モデルの権限を付与するには、[AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) ポリシーをアタッチします。

 AWS 管理ポリシーをロールにアタッチするには、次の手順に従います。

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) に移動します。

1. **[ロール]** を選択します。

1. 検索ボックスで、ユーザーの IAM ロールを名前で検索して選択します。

1. ユーザーのロールのページの **[権限]** で、**[権限の追加]** を選択します。

1. ドロップダウンメニューで、**[ポリシーをアタッチ]** を選択します。

1. ユーザーの実行ロールにアタッチする 1 つまたは複数のポリシーを検索して選択します。

   1. Canvas の基本権限を付与するには、[AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) ポリシーを検索して選択します。

   1. Ready-to-use モデルの権限を付与するには、[AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) ポリシーを検索して選択します。

1. **[アクセス許可の追加]** を選択して、ポリシーをロールにアタッチします。

IAM コンソールを使用して AWS マネージドポリシーをユーザーのロールにアタッチすると、ユーザーに Canvas の基本アクセス許可または Ready-to-use モデルのアクセス許可が付与されます。

## Canvas アプリケーションの作成におけるスペースの問題のトラブルシューティング
<a name="canvas-troubleshoot-spaces"></a>

新しい Canvas アプリケーションを作成する際に「`Unable to create app <app-arn> because space <space-arn> is not in InService state`」というエラーが発生した場合、それは基盤となる Amazon SageMaker Studio スペースの作成に失敗したことを示します。Studio の*スペース*は、Canvas アプリケーションデータをホストする、基盤となるストレージです。Studio のスペースの詳細については、「[Amazon SageMaker Studio のスペース](studio-updated-spaces.md)」を参照してください。Canvas でのスペースの設定の詳細については、「[SageMaker Canvas アプリケーションデータを独自の SageMaker AI スペースに保存する](canvas-spaces-setup.md)」を参照してください。

スペースの作成に失敗した理由の根本原因を特定するには、[DescribeSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSpace.html) API を使用して `FailureReason` フィールドを確認します。有効なスペースのステータスとその意味の詳細については、「[Amazon SageMaker AI ドメインのエンティティとステータス](sm-domain.md)」を参照してください。

この問題を解決するには、SageMaker AI コンソールでドメインを検索し、受信したエラーメッセージに記載されている、障害が発生したスペースを削除します。スペースを検索して削除するための詳細な手順については、「[Studio で実行中のアプリケーションとスペースを停止して削除する](studio-updated-running-stop.md)」のページを参照し、手順に従って **Studio スペース を削除**します。スペースを削除すると、そのスペースに関連付けられたアプリケーションも削除されます。スペースを削除したら、Canvas アプリケーションを再度作成できます。これで、スペースが正常にプロビジョニングされ、Canvas を起動できるようになります。

# SageMaker Canvas の請求情報とコストを管理する
<a name="canvas-manage-cost"></a>

SageMaker Canvas アプリケーションに関連するコストを追跡するには、 AWS Billing and Cost Management サービスを使用できます。請求情報とコスト管理は、コストと使用状況に関連する情報の収集、コスト要因と使用傾向の分析、支出の予算策定に役立つツールを提供します。詳細については、「[What is AWS Billing and Cost Management?](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html)」を参照してください。

SageMaker Canvas の請求情報は、以下のコンポーネントで構成されています。
+ ワークスペースインスタンスの料金 — SageMaker Canvas にログインしている、または SageMaker Canvas を使用している時間数に応じて課金されます。コストを削減するために、アクティブに使用していない Canvas アプリケーションからログアウトするか、シャットダウンするスケジュールを作成することをお勧めします。詳細については、「[Amazon SageMaker Canvas からのログアウト](canvas-log-out.md)」を参照してください。
+ AWS サービス料金 – カスタムモデルでの構築と予測、または Ready-to-use モデルで予測を行うと料金が発生します。
  + トレーニング料金 – すべてのモデルタイプにおいて、モデルの構築中はリソースの使用量に基づいて課金されます。これらのリソースには、Canvas がスピンアップするコンピューティングインスタンスが含まれます。これらの料金は、ホスティング、トレーニング、処理、またはバッチ変換ジョブとしてアカウントに表示される場合があります。
  + 予測の使用料金 — 構築したカスタムモデルの種類や使用した Ready-to-use モデルの種類に応じて、予測の生成に使用したリソースに対して課金されます。

Canvas の [Ready-to-use モデルは](canvas-ready-to-use-models.md)、他の AWS サービスを活用して予測を生成します。Ready-to-use モデルを使用すると、それぞれのサービスの料金が課金され、その価格条件が適用されます。
+ センチメント分析、エンティティ抽出、言語検出、個人情報検出については、[Amazon Comprehend の料金](https://aws.amazon.com/comprehend/pricing/)がかかります。
+ 画像内のオブジェクト検出と画像内のテキスト検出には、[Amazon Rekognition の料金](https://aws.amazon.com/rekognition/pricing/)がかかります。
+ 経費分析、身分証明書分析、ドキュメント分析には、[Amazon Textract の料金](https://aws.amazon.com/textract/pricing/)がかかります。

詳細については、「[SageMaker Canvas の料金](https://aws.amazon.com/sagemaker/canvas/pricing/)」を参照してください。

請求情報とコスト管理でコストを追跡しやすくするために、SageMaker Canvas アプリとユーザーにカスタムタグを割り当てることができます。アプリで発生するコストを追跡でき、個々のユーザープロファイルにタグを付けることで、ユーザープロファイルに基づいてコストを追跡できます。詳細については、「[Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)」を参照してください。

SageMaker Canvas アプリおよびユーザーにタグを追加するには、次の手順に従います。
+ Amazon SageMaker AI ドメインと SageMaker Canvas を初めて設定する場合は、「[開始方法](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)」の手順に従って、ドメインまたはユーザーを作成する際にタグを追加します。タグは、ドメインコンソール設定の **[全般設定]** あるいは API ([CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) または [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)) を使用して追加できます。SageMaker AI は、ドメインまたはユーザープロファイルで指定されたタグを、ドメインの作成後に作成するすべての SageMaker Canvas アプリケーションまたはユーザーに追加します。
+ 既存のドメイン内のアプリにタグを追加する場合は、ドメインまたはユーザープロファイルのいずれかにタグを追加する必要があります。タグは、コンソールまたは [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) API のいずれかで追加できます。コンソールからタグを追加する場合、タグをアプリに反映させるには、SageMaker Canvas アプリを削除して再起動する必要があります。API を使用する場合、タグはアプリに直接追加されます。SageMaker Canvas アプリの削除と再起動の詳細については、「[Manage apps](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-manage-apps.html)」を参照してください。

ドメインにタグを追加した後、アクティベーションのためにタグが AWS Billing and Cost Management コンソールに表示されるまでに最大 24 時間かかる場合があります。コンソールに表示された後、タグが有効になるまでにさらに 24 時間かかります。

**[Cost Explorer]** ページでは、コストをタグや使用タイプ別にグループ化およびフィルタリングして、ワークスペースインスタンスの料金をトレーニング料金と区別できます。それぞれの料金は次のとおりです。
+ ワークスペースインスタンスの料金: 使用タイプ `REGION-Canvas:Session-Hrs (Hrs)` の下に料金が表示されます。
+ トレーニング料金: 料金は、SageMaker AI ホスティング、トレーニング、処理、またはバッチ変換ジョブの使用タイプの下に表示されます。