Amazon Web Services ブログ

Amazon SageMaker Canvas の ML 予測を使用して Amazon QuickSight に予測ダッシュボードをパブリッシュ

変更履歴

  • 2023/07/13 QuickSight と SageMaker Canvas のリージョンが異なる場合の対処を修正


ビジネストレンド、顧客行動、売上高、需要の増加、購入者の傾向を理解することはすべてデータから始まります。企業が成功を収めるには、データの調査、分析、解釈、傾向の発見が不可欠です。

ビジネスアナリストは、ビジネス指標の視覚化や将来の出来事の予測などの活動を通じて、データ主導のビジネス上の意思決定を促進する上で極めて重要な役割を果たします。これらのアナリストに、機械学習(ML)などのテクノロジーに支えられたシンプルかつ可視化による分析が可能なビジネスインテリジェンス(BI)ツールを提供することで、迅速なイテレーションと Time to Value の短縮を実現できます。

Amazon QuickSight はフルマネージド型のクラウドネイティブ BI サービスで、データへの接続、インタラクティブなダッシュボードやレポートの作成、およびそれらを QuickSight 内で、またはアプリケーションやウェブサイトに埋め込んで、何万人ものユーザーと共有することが容易になります。Amazon SageMaker Canvas は、ビジネスアナリストが ML の経験がなくても、コードを 1 行も記述しなくても、正確な ML 予測を自分で生成できるビジュアルインターフェイスです。

この記事では、予測を明示的にダウンロードして QuickSight にインポートしなくても、Canvas から ML ベースの予測を使用して QuickSight で予測ダッシュボードを公開する方法を説明します。このソリューションを使用すると、Canvas から QuickSight に予測を送信できるため、機械学習を使用して意思決定を迅速に行い、効果的なビジネス成果を達成できます。

ソリューションの概要

以下のセクションでは、管理者が適切な権限を設定してユーザーを Canvas から QuickSight にシームレスにリダイレクトするのに役立つ手順について説明します。次に、モデルを構築して予測を実行する方法を詳しく説明し、ビジネスアナリティクス体験について述べます。

前提条件

このソリューションを実装するには、次の前提条件が必要です。

[QuickSight リージョン] の選択では、必ず Canvas と同じリージョンを選択してください。両者が異なる場合は開始する前にを参考にリージョンを合わせてください。

管理者設定

このセクションでは、IAM リソースのセットアップ、データの準備、トレーニングデータセットを用いた学習、テストデータセットの予測を行う手順を詳しく説明します。その後、データを QuickSight に送信してさらに分析します。

QuickSight アクセス用の新しい IAM ポリシーを作成する

IAM ポリシーを作成するには、次の手順を実行します。

  1. IAM コンソールのナビゲーションペインで Policies を選択します。
  2. Create policy を選択します。
  3. JSON タブで、次の権限ポリシーをエディタに入力します。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "quicksight:CreateDataSet",
                "quicksight:ListNamespaces",
                "quicksight:CreateDataSource",
                "quicksight:PassDataSet",
                "quicksight:PassDataSource"
            ],
            "Resource":[
                "arn:aws:quicksight:*:<AWS-account-id>:datasource/*", #replace account id
                "arn:aws:quicksight:*:<AWS-account-id>:user/*", #replace account id
                "arn:aws:quicksight:*:<AWS-account-id>:namespace/*", #replace account id
                "arn:aws:quicksight:*:<AWS-account-id>:dataset/*" #replace account id
            ]
        }
    ]
}

IAM ポリシー言語の詳細については、IAM JSON ポリシーリファレンスを参照してください。

  1. Next: Tags を選択します。
  2. メタデータとしてタグをポリシーに追加し、Next: Review を選択します。

IAM でのタグの使用方法の詳細については、IAM リソースへのタグ付けを参照してください。

  1. Review policy ページで、ポリシーの名前 (canvas-quicksight-access-policy など) とオプションでポリシーの説明を入力します。
  2. Summary セクションを確認して、ポリシーによって付与されている権限を確認してください。
  3. Create policy を選択して作業内容を保存します。


ポリシーを作成したら、それを実行ロールにアタッチして、QuickSight でバッチ予測をユーザーに送信するのに必要な権限をユーザーに付与できます。

Studio 実行ロールにポリシーをアタッチする

ポリシーを Studio の実行ロールにアタッチするには、次の手順を実行してください。

  1. SageMaker コンソールのナビゲーションペインで Domains を選択します。
  2. ドメインを選択してください。
  3. Domain settings を選択します。
  4. Execution role の下にロール名をコピーします。

  1. IAM コンソールのナビゲーションペインで Roles を選択します。
  2. 検索バーに、コピーした実行ロールを入力し、ロールを選択します。

  1. ユーザーのロールのページで、Permissions policies に移動します。
  2. Add permissions メニューで、Attach policies を選択します。
  3. 先ほど作成したポリシー (canvas-quicksight-access-policy) を検索して選択し、Add permissions を選択します。

これで、QuickSight でユーザーにバッチ予測を送信する権限を付与する IAM ポリシーが実行ロールにアタッチされました。

データセットのダウンロード

モデルのトレーニングと予測に使用するデータセットをダウンロードしてみましょう。

モデルを構築して予測を実行する

このセクションでは、ローンデータセットを用いてモデルを構築し、予測を実行する方法について説明します。次に、そのデータを QuickSight ダッシュボードに送信して、ビジネス上の洞察を得ます。

Canvas を起動する

Canvas を起動するには、次の手順を実行します。

  • SageMaker コンソールのナビゲーションペインで Domains を選択します。
  • ドメインを選択してください。
  • Launch メニューで Canvas を選択します。

トレーニングおよびテストデータセットのアップロード

次の手順を実行して、データセットを Canvas にアップロードします。

  1. Canvas のホームページで、Datasets を選択します。
  2. Import data を選択し、lending_club_loan_data_train.csvlending_club_loan_data_test.csv をアップロードします。

ローカルファイルアップロードの権限が別途必要です。上記の画面が出ない場合は、AWS マネージドコンソールより SageMaker を検索し、Domains → ご指定のドメイン → ドメイン設定を編集 → Canvas の設定 → ローカルファイルアップロードの設定にて、ローカルファイルのアップロードを有効化をチェックしてください。既存のドメインの場合は設定を上書きすることができます。

  1. Save & Close を選択し、Import data を選択します。

それでは、新しいモデルを作成しましょう。

  1. ナビゲーションペインで My models を選択します。
  2. New model を選択します。
  3. モデルの名前 (Loan_Prediction) を入力し、Create を選択します。

Canvas モデルを作成するのが初めての場合は、4 ステップで簡単にモデル構築する方法がポップアップ表示されます。そちらを読んでからこのガイドに戻ってください。

  1. モデルビューの Select タブで、lending_club_loan_data_train データセットを選択します。

このデータセットは 18 列 x 32,000 行です。

  1. Select dataset を選択します。

  1. Build タブで、ターゲット列 (この場合は loan_status) を選択します。

Canvas は、これが 3+ category prediction(マルチクラス分類とも呼ばれます)であることを自動的に検出します。

  1. 別のモデルタイプが検出された場合は、Change type を選択して手動で変更します。

  1. Quick build を選択し、ポップアップから Start quick build を選択します。

また、Standard build を選択することもできます。標準ビルドでは、AutoML サイクル全体を経て、複数のモデルを生成してから最適なモデルを推奨します。

これでモデルが構築されています。クイックビルドには通常 2 ~ 15 分かかります。

モデルが作成されたら、Analyze タブでモデルのステータスを確認できます。

モデルを使って予測を行う

モデルの構築が完了したら、このモデルを用いて予測できます。

  1. Analyze タブの Predict を選択するか、Predict タブを選択します。
  2. Single prediction を選択し、エントリを入力して 1 つの予測を実行します。

ページの右側に loan_status 予測が表示されます。Copy を選択して予測をコピーするか、Download prediction を選択して予測をダウンロードできます。これは、仮説シナリオを生成したり、さまざまな列がモデルの予測にどのように影響するかをテストしたりするのに理想的です。

  1. バッチ予測を実行するには、Batch prediction を選択します。

これは、データセット全体の予測を行う場合に最適です。入力データセットと列と型が一致するデータセットを使用して予測を行う必要があります。

Canvas は、各予測または予測セットについて、予測値と予測値が正しい確率を返します。

検証データセットを使用して、トレーニング済みモデルから予測を行ってみましょう。

  1. Select the dataset を選択します。
  2. lending_club_loan_data_test を選択し、Generate predictions を選択します。

予測ができたら、Dataset セクションで確認できます。予測をプレビューしたり、ローカルマシンにダウンロードしたり、削除したり、QuickSight に送信したりできます。

予測を QuickSight に送信する

これらの ML モデルからの予測を QuickSight データセットとして共有できるようになりました。このデータセットは、企業全体のダッシュボードの新しいソースとして役立ちます。トレンド、リスク、ビジネスチャンスを分析できます。この機能により、ビジネスチームが ML を利用しやすくなり、データ主導の意思決定を加速できるようになります。QuickSight ユーザーとデータを共有すると、データセットの所有者権限が付与されます。複数の予測データセットを一度に QuickSight に送信できます。

予測を送信できるのは QuickSight アカウントのデフォルト名前空間のユーザーのみであり、そのユーザーには QuickSight の作成者または管理者の Role が必要であることに注意してください。QuickSight に送信された予測は、Canvas と同じリージョンでのみ利用できます。

  1. 予測されたバッチデータセットを選択し、Send to Amazon QuickSight を選択します。

  1. データセットを共有する QuickSight ユーザー名を 1 つまたは複数入力し、Enter キーを押します。
  2. Send を選択してデータを共有します。

バッチ予測を送信すると、送信したデータセットの QuickSight フィールドに Sent と表示されます。もし、Please grant Quicksight access to the S3 bucket sagemaker-{region}-{account_id} via the Quicksight security & permissions settings. が表示され、上記画面の列 QuickSight が not sent のままの場合は QuickSight にバッチ予測が連携されていません。S3 へのアクセス権限が必要となるため、QuickSight の管理 → セキュリティとアクセス権限 → QuickSight の AWS のサービスへのアクセス → 管理をクリックし、Amazon S3 の下の S3 バケットを選択するをクリックしてください。QuickSight からアクセスするバケット sagemaker-{region}-{account_id} を選択します。

  1. 左下の確認ボックスで、Open Amazon QuickSight を選択して QuickSight アプリケーションを開くことができます。
  2. Canvas を使い終わったら、Canvas アプリケーションから log out します。

数値予測、カテゴリ予測、時系列予測モデルのバッチ予測を QuickSight に送信できます。Bring Your Own Model (BYOM) メソッドで生成された予測を送信することもできます。Single-label image prediction と multi-category text prediction は未対応です。

データセット送信先の QuickSight ユーザーは、自分の QuickSight コンソールを開いて、共有されている Canvas データセットを表示できます。その後、データを使用して予測ダッシュボードを作成できます。詳細については、Amazon QuickSight データ分析の開始方法を参照してください。

デフォルトでは、予測を送信するすべてのユーザーに QuickSight データセットに対する所有者権限があります。所有者は、分析の作成、データセットの更新、編集、削除、および再共有を行うことができます。所有者がデータセットを変更すると、アクセス権を持つすべてのユーザーのデータセットが変更されます。権限を変更するには、QuickSight のデータセットに移動して、その権限を管理します。詳細については、データセットを共有しているユーザーの許可の表示と編集を参照してください。

ビジネスアナリティクスを体験する

QuickSight を使用すると、データを視覚化して理解を深めることができます。まず、高レベルの情報を取得することから始めます。

  1. QuickSight コンソールのナビゲーションペインで Datasets を選択します。
  2. ドロップダウンオプションメニュー (縦に並んだ3つの点) で Create analysis を選択して、Canvas から共有されているバッチ予測データセットの分析を作成します。

  1. 分析ページで、シート名を選択し、名前を Loan Data Analysis に変更します。

ローン状況別のカウントを表示するビジュアルを作成してみましょう。

  1. Visual types では、Donut chart を選択します。
  2. Group/Colorloan_status フィールドを使用してください。

99 % が全額支払い済、1 % が現在支払中、0 % がチャージオフであることがわかります。

次に、ステータス別のローン金額を表示するビジュアルを 2 つ追加します。

  1. 左上隅にあるプラス記号を選択し、Add visual を選択します。
  2. Visual types では、Waterfall chart を選択します。
  3. Category には loan_status フィールドを使用してください。
  4. Value には loan_amount フィールドを使用してください。

融資総額は約 8,800 万ドルで、約 221,000 ドルがチャージオフされていることがわかります。

それでは、ローンの債務不履行のリスク要因をいくつか見つけてみましょう。

  1. プラス記号を選択し、Add visual を選択します。
  2. Visual types では、Horizontal bar chart を選択します。
  3. Y axis には loan_status フィールドを使用してください。
  4. Value には loan_amount フィールドを使用してください。
  5. Value フィールドの集計を Sum から Average に変更します。

平均すると、現在のローンと比較して、全額支払いローンのローン金額が約 3,500 ドル低く、全額支払いローンのローンがチャージオフローンと比較して約 3,500 ドル低かったことがわかります。融資額と信用リスクには相関関係があるようです。

  1. ビジュアルを複製するには、オプションメニュー (3 つのドット) を選択し、Duplicate visual to を選択して、This sheet を選択します。
  2. 複製したビジュアルを選択して構成を変更します。
  3. Visual types では、Horizontal bar chart を選択します。
  4. Y axis には loan_status フィールドを使用してください。
  5. Value には loan_amount フィールドを使用してください。
  6. Value フィールドの集計を Sum から Average に変更します。

追加のビジュアルを作成して、その他のリスク要因を確認することができます。
例:

  • ローン期間
  • オープンクレジットライン
  • リボルビングライン稼働率
  • クレジットラインの合計
  1. ビジュアルを追加したら、分析ページの Share オプションを使用してダッシュボードを公開し、そのダッシュボードをビジネス関係者と共有します。

クリーンアップ

今後料金が発生しないように、この記事をフォローしている間に作成したリソースを削除またはシャットダウンしてください。詳細については、Amazon SageMaker Canvas からログアウトするを参照してください。

まとめ

この記事では、使いやすいインターフェイスとわかりやすいビジュアライゼーションのおかげで、コードを 1 行も記述せずに Canvas を使用して ML モデルを学習しました。次に、このモデルの単一予測とバッチ予測を Canvas で生成しました。企業全体の傾向、リスク、ビジネスチャンスを評価するために、この ML モデルの予測を QuickSight に送信しました。ビジネスアナリストとして、QuickSight の傾向を評価するためにさまざまなビジュアライゼーションを作成しました。

この機能は、Canvas がサポートされるようになったすべてのリージョンで使用できます。詳細については、Canvas の製品ページドキュメントをご覧ください。


この記事は Publish predictive dashboards in Amazon QuickSight using ML predictions from Amazon SageMaker Canvas を翻訳したものです。一部補足を追加しております。

記事の翻訳は Solutions Architect 中島 佑樹が担当しました。

著者について

Ajjay Govindaram は AWS のシニアソリューションアーキテクトです。彼は、複雑なビジネス上の問題を解決するためにAI/MLを使用している戦略的顧客と仕事をしています。彼の経験は、中規模から大規模のAI/MLアプリケーションの展開における技術的方向性と設計支援を提供することにあります。彼の知識は、アプリケーションアーキテクチャからビッグデータ、分析、機械学習まで多岐にわたります。休息しながら音楽を聴いたり、アウトドアを体験したり、大切な人と過ごすことを楽しんでいます。

Varun Mehta は AWS のソリューションアーキテクトです。彼は、お客様が AWS クラウドでエンタープライズ規模のよく設計されたソリューションを構築できるよう支援することに情熱を注いでいます。彼は、複雑なビジネス上の問題を解決するためにAI/MLを使用している戦略的顧客と仕事をしています。

Shyam Srinivasan は AWS AI/ML チームのプリンシパルプロダクトマネージャーで、Amazon SageMaker Canvas の製品管理を率いています。Shyamは、テクノロジーを通じて世界をより良い場所にすることを重視しており、AIとMLがどのようにこの旅のきっかけになり得るかに情熱を注いでいます。