Amazon Redshift ML機械学習を使用して高度な分析を実行する - AWS 規範ガイダンス

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

Amazon Redshift ML機械学習を使用して高度な分析を実行する

作成者: Po Hong (AWS) と Chyanna Antonio (AWS)

環境:PoC またはパイロット

テクノロジー:分析、機械学習、AI

ワークロード:その他すべてのワークロード

AWS サービス: Amazon Redshift、Amazon SageMaker

[概要]

Amazon Web Services (AWS) クラウドでは、Amazon Redshift 機械学習 (Amazon Redshift ML) を使用して、Amazon Redshift クラスターまたは Amazon Simple Storage Service (Amazon S3) に保存されているデータに対して ML 分析を実行できます。Amazon Redshift ML は、高度な分析によく使用される教師あり学習をサポートしています。Amazon Redshift ML のユースケースには、収益予測、クレジットカード詐欺検知、顧客生涯価値 (CLV) または顧客解約予測などがあります。

Amazon Redshift ML を使用すると、データベース ユーザーは、使い慣れた 標準SQLコマンドを使用して、ML モデルを簡単に作成、トレーニング、デプロイできます。Amazon Redshift ML は Amazon SageMaker Autopilot を使用して、データに基づいて分類または回帰に最適な ML モデルを自動的にトレーニングおよび調整し、制御と可視性を維持します。

Amazon Redshift、Amazon S3、Amazon 間のすべてのインタラクション SageMaker は抽象化され、自動化されます。ML モデルをトレーニングしてデプロイすると、Amazon Redshift で ユーザー定義関数 (UDF) として使用できるようになり、SQL クエリで使用できるようになります。 

このパターンは、AWS ブログの「Amazon Redshift ML で SQL を使用して Amazon Redshift で ML モデルを作成、トレーニング、デプロイする」と、「入門リソースセンター」の「Amazon チュートリアルで ML モデルを構築、トレーニング、デプロイ SageMakerする」を補完します。

前提条件と制限

前提条件

  • アクティブなAWS アカウント

  • Amazon Redshift テーブル内の既存のデータ

スキル

  • 機械学習トレーニング予測など、Amazon Redshift ML で使用される用語や概念に精通している 詳細については、Amazon Machine Learning (Amazon ML) ドキュメントの tトレーニングML モデル を参照してください。

  • Amazon Redshift のユーザーセットアップ、アクセス管理、および標準 SQL 構文に関する経験。こちらに関する詳細については、Amazon Redshift のドキュメントの Getting started with Amazon Redshift を参照下さい。

  • Amazon S3 および AWS Identity and Access Management (IAM) に関する知識と経験 

  • AWS コマンドラインインターフェイス (AWS CLI) でコマンドを実行した経験も役立ちますが、必須ではありません。

制約事項

  • Amazon Redshift クラスターおよび Amazon S3 バケットが、同じ AWS リージョンに存在する必要があります。

  • このパターンのアプローチは、リグレッション、二項分類、多クラス分類などの教師あり学習モデルのみをサポートします。 

アーキテクチャ

ワークフローは、Amazon Redshift ML が SageMaker と連携して ML モデルを構築、トレーニング、デプロイする方法を示しています。

次の手順では、Amazon Redshift ML が SageMaker と連携して ML モデルを構築、トレーニング、デプロイする方法について説明します。 

  1. Amazon Redshift はトレーニングデータを S3 バケットにエクスポートします。

  2. SageMaker Autopilot はトレーニングデータを自動的に前処理します。

  3. CREATE MODEL ステートメントが呼び出されると、Amazon Redshift ML はトレーニング SageMaker に を使用します。

  4. SageMaker Autopilot は、評価メトリクスを最適化する ML アルゴリズムと最適なハイパーパラメータを検索して推奨します。

  5. Amazon Redshift は、予測関数を SQL 関数として Amazon Redshift クラスターに登録します。

  6. ML モデルの関数は、SQL ステートメントで使用できます。 

テクノロジースタック

  • Amazon Redshift

  • SageMaker

  • Amazon S3

ツール

  • Amazon Redshift – Amazon Redshift は、エンタープライズレベル、ペタバイト規模、フルマネージド型のデータウェアハウスサービスです。

  • Amazon Redshift ML – Amazon Redshift 機械学習 (Amazon Redshift ML) は、どの技術レベルのアナリストやデータサイエンティストでも、機械学習のテクノロジーを簡単に使用できる堅牢なクラウドベースのサービスです。

  • Amazon S3」— Amazon Simple Storage Service (Amazon S3)は、インターネット用のストレージです。 

  • Amazon SageMaker – はフルマネージド型の ML サービス SageMaker です。 

  • Amazon SageMaker Autopilot – SageMaker Autopilot は、自動機械学習 (AutoML) プロセスの主要なタスクを自動化する機能セットです。

コード

Amazon Redshift では、以下のコードを使用してスーパーバイズド ML モデルを作成できます。

“CREATE MODEL customer_churn_auto_model FROM (SELECT state, account_length, area_code, total_charge/account_length AS average_daily_spend, cust_serv_calls/account_length AS average_daily_cases, churn FROM customer_activity WHERE record_date < '2020-01-01' ) TARGET churn FUNCTION ml_fn_customer_churn_auto IAM_ROLE 'arn:aws:iam::XXXXXXXXXXXX:role/Redshift-ML' SETTINGS ( S3_BUCKET 'your-bucket' );”)

注:SELECT ステートは Amazon Redshift の通常のテーブル、Amazon Redshift Spectrum の外部テーブル、またはその両方を指す場合があります。

エピック

タスク説明必要なスキル

トレーニングデータセットとテストデータセットの準備

AWS マネジメントコンソールにサインインし、Amazon SageMaker コンソールを開きます。機械学習モデルの構築、トレーニング、デプロイ チュートリアルの指示に従って、ラベル列 (教師ありトレーニング) があり、ヘッダーがない.csv ファイルまたは Apache Parquet ファイルを作成します。 

:未加工のデータセットをシャッフルして、モデルのトレーニング用のトレーニングセット (70%) とモデルのパフォーマンス評価用のテストセット (30%) に分割することをお勧めします。

データサイエンティスト
タスク説明必要なスキル

Amazon Redshift クラスターを作成します。

Amazon Redshift コンソールで、要件に従ってクラスターを作成します。詳細については、Amazon Redshift ドキュメントのクラスターの作成を参照してください。 

重要: 新しい Amazon Redshift クラスターは、PREVIEW_2020 メンテナンストラックを使用して作成する必要があります。トラックプレビューの詳細については、クラスターメンテナンストラックの選択Amazon Redshiftドキュメント内のを参照してください。

DBA、クラウドアーキテクト

トレーニングデータとモデルアーティファクトを保存する S3 バケットを作成する。

Amazon S3 コンソールで、トレーニングデータとテストデータ用の S3 バケットを作成します。S3 バケットを作成する方法の詳細については、AWS Quick StartsからS3 バケットを作成するを参照してください。 

重要:Amazon S3 バケットとAmazon Redshiftクラスターが同じリージョンにあることを確認してください。 

DBA、クラウドアーキテクト

IAM サービスロールを作成して Amazon Redshift クラスターにアタッチします。

Amazon Redshift クラスターが SageMaker および Amazon S3 にアクセスできるようにする IAM ポリシーを作成します。手順と手順については、Amazon Redshift ドキュメントの Amazon Redshift ML を使用するためのクラスターセットアップ を参照してください。

DBA、クラウドアーキテクト

Amazon Redshift ユーザーとグループがスキーマとテーブルにアクセスできるようにします。

Amazon Redshift のユーザーとグループが内部および外部のスキーマとテーブルにアクセスできるようにするアクセス権限を付与します。手順と手順については、Amazon Redshift ドキュメントの アクセス権限と所有権の管理 を参照してください。

DBA
タスク説明必要なスキル

Amazon Redshift で ML モデルを作成してトレーニングする

Amazon Redshift で ML モデルを作成してトレーニングする 詳細については、Amazon Redshift CREATE MODEL のドキュメントのステートメントを参照してください。

アプリ開発者、データサイエンティスト
タスク説明必要なスキル

生成された ML モデル関数を使用して推論を行います。

生成された ML モデル関数を使用して推論を実行する方法の詳細については、Amazon Redshift ドキュメントの 予測 を参照してください。

データサイエンティスト、ビジネスインテリジェンスユーザー

関連リソース

トレーニングデータセットとテストデータセットの準備

テクノロジースタックの準備と設定を行います

Amazon Redshift で ML モデルを作成してトレーニングする

Amazon Redshift でバッチ推論と予測を実行する

その他のリソース