アマゾンセージメーカーキャンバスでのMLのためのデータ準備を加速させる

『アマゾンセージメーカーキャンバスを活用したMLデータ準備の加速』

データの準備は、機械学習(ML)ワークフローにおける重要なステップですが、しばしば煩雑で時間のかかる作業が伴います。Amazon SageMaker Canvasは、Amazon SageMaker Data Wranglerをパワフルに活用した包括的なデータの準備機能をサポートしています。この統合により、SageMaker Canvasはデータの準備、MLモデルの構築と使用、データからビジネスインサイトまでのタイムラグを短縮するためのエンドツーエンドのノーコードワークスペースを顧客に提供します。SageMaker Canvasの直感的なインターフェースで、50以上のデータソースから容易にデータを発見し、集約できます。また、SageMaker Canvasのビジュアルインターフェースで300以上のビルトインの分析と変換を使用して、データの探索と準備を行うことができます。また、変換と分析のパフォーマンスが向上し、ML向けのデータの探索と変換のための自然言語インターフェースも利用できます。

この記事では、SageMaker Canvasでエンドツーエンドのモデル構築のためのデータの準備プロセスについて説明します。

ソリューションの概要

当社のユースケースでは、金融サービス会社のデータプロフェッショナルの役割を想定しています。借り手がローンを完全に返済するかどうかを予測するMLモデルを構築するために、2つのサンプルデータセットを使用します。これは、信用リスクの管理において重要です。SageMaker Canvasのノーコード環境を活用することで、コーディングの必要なしにデータの準備、特徴量のエンジニアリング、MLモデルのトレーニング、モデルのデプロイまでのエンドツーエンドのワークフローを迅速に行うことができます。

前提条件

このガイドに従って作業するには、次の前提条件を満たしていることを確認してください。

  1. Amazon SageMaker Canvasを起動してください。既にSageMaker Canvasを使用している場合は、この新機能を利用できるように、ログアウトして再度ログインしてください。
  2. Snowflakeからデータをインポートするには、SnowflakeのOAuthのセットアップ手順に従ってください。

インタラクティブデータの準備

セットアップが完了したら、データの準備を可能にするデータフローを作成できます。データフローには、データを整理するためのビルトインの変換とリアルタイムの可視化が備わっています。以下の手順を完了してください。

  1. 次の方法のいずれかを使用して新しいデータフローを作成します。
    1. Data Wranglerを選択し、Data flowsを選択し、Createを選択します。
    2. SageMaker Canvasのデータセットを選択し、Create a data flowを選択します。
  2. Import dataを選択し、ドロップダウンリストからTabularを選択します。
  3. Amazon Simple Storage Service(Amazon S3)、Amazon AthenaAmazon Redshift、Snowflake、Salesforceなど、50以上のデータ接続子を介してデータを直接インポートすることができます。このガイドでは、Snowflakeからデータを直接インポートする方法を説明します。

または、同じデータセットをローカルマシンからアップロードすることもできます。データセットのloans-part-1.csvloans-part-2.csvをダウンロードできます。

  1. インポートデータページから、リストからSnowflakeを選択し、接続の追加を選択します。
  2. 接続に名前を入力し、認証方法のドロップダウンリストからOAuthオプションを選択します。OktaのアカウントIDを入力し、接続の追加を選択します。
  3. Oktaのログイン画面にリダイレクトされ、Oktaの資格情報を入力して認証します。認証が成功した場合、データフローページにリダイレクトされます。
  4. Snowflakeデータベースからローンデータセットを参照して選択します

画面の左側から右側にドラッグアンドドロップして、2つのローンデータセットを選択します。2つのデータセットが接続され、赤い感嘆符付きの結合記号が表示されます。それをクリックし、両方のデータセットのidキーを選択します。結合タイプはInnerのままにしてください。以下のようになります:

  1. 保存して閉じるを選択します。
  2. データセットを作成を選択します。データセットに名前を付けます。
  3. データフローに移動すると、次のように表示されます。
  4. ローンデータを素早く探索するには、データのインサイトを取得を選択し、loan_statusのターゲット列と分類問題のタイプを選択します。

生成されたデータ品質とインサイトレポートは、主要な統計情報、可視化、および特徴の重要性分析を提供します。

  1. データ品質の問題やバランスの取れていないクラスに関する警告を確認し、データセットを理解し改善します。

このユースケースのデータセットでは、高優先度の警告として「非常に低いクイックモデルスコア」と、少数クラス(貸出拒否および現行)のモデル効果が非常に低いことが予想されます。これは、データのクリーンアップとバランスを取る必要があることを示しています。データインサイトレポートの詳細は、Canvasのドキュメントを参照してください。

SageMaker Data Wranglerによって提供される300以上の組み込み変換機能を活用して、SageMaker Canvasで素早くローンデータを整形できます。 ステップの追加をクリックし、適切な変換を参照または検索します。このデータセットでは、欠損値の除外外れ値の処理を行ってデータをクリーンアップし、ワンホットエンコードテキストのベクトル化を適用して機械学習のための特徴を作成します。

データの準備のためのチャットは、自然言語の機能であり、プレーンな英語でリクエストを記述することで直感的なデータ分析を可能にするものです。例えば、ローンデータに対して統計情報や特徴の相関分析を自然なフレーズで取得することができます。SageMaker Canvasは会話形式のインタラクションを通じてアクションを理解し実行し、データの準備を新たなレベルに引き上げます。

私たちはデータの準備のためのチャットと組み込みの変換を使って、ローンデータをバランスさせることができます。

  1. まず、以下の指示を入力してください: loan_status内の"charged off"と"current"を"default"に置き換える

データの準備のためのチャットは、2つの少数クラスを1つのdefaultクラスにマージするためのコードを生成します。

  1. 組み込みのSMOTE変換関数を選択して、デフォルトクラスの合成データを生成します。

これでバランスの取れたターゲット列が得られます。

  1. ローンデータのクリーニングと処理を行った後、データ品質と洞察レポートを再生成して改善点を確認します。

優先度が高い警告が消え、データ品質が向上していることを示しています。モデルのトレーニングのためにデータ品質を向上させるために必要な他の変換を追加することができます。

データ処理のスケールと自動化

データの準備を自動化するため、全体のデータセットまたは新しいデータセットをスケールで処理するために、分散型のSpark処理ジョブとしてワークフロー全体を実行またはスケジュールできます。

  1. データフロー内にAmazon S3の宛先ノードを追加します。
  2. ジョブを作成を選択して、SageMaker Processingジョブを起動します。
  3. 処理ジョブを構成し、作成を選択して、サンプリングせずに数百GBのデータでフローを実行できるようにします。

データフローは、エンドツーエンドのMLOpsパイプラインに組み込んで、MLライフサイクルを自動化することができます。データフローはSageMaker Studioノートブックに組み込むこともでき、SageMakerパイプラインのデータ処理ステップとして使用することもできます。また、SageMakerの推論パイプラインの展開にも利用できます。これにより、データの準備からSageMakerのトレーニングとホスティングまでのフローを自動化することができます。

SageMaker Canvasでモデルを構築して展開する

データの準備が完了した後は、最終的なデータセットをSageMaker Canvasにシームレスにエクスポートして、ローン支払い予測モデルを構築、トレーニング、デプロイすることができます。

  1. データフローの最後のノードまたはノードパネルで、モデルの作成を選択してください。

これにより、データセットがエクスポートされ、ガイド付きモデル作成のワークフローが開始されます。

  1. エクスポートされたデータセットに名前を付け、エクスポートを選択してください。
  2. 通知からモデルの作成を選択してください。
  3. モデルに名前を付け、予測分析を選択し、作成を選択してください。

これにより、モデル構築ページにリダイレクトされます。

  1. SageMaker Canvasモデル構築体験を続けるために、ターゲット列とモデルタイプを選択し、クイックビルドまたは標準ビルドを選択してください。

モデル構築体験の詳細については、モデルの構築を参照してください。

トレーニングが完了したら、モデルを新しいデータの予測や展開に使用できます。SageMaker Canvasからモデルを展開する方法については、Amazon SageMakerへのMLモデルの展開を参照してください。

結論

この投稿では、SageMaker Canvasのエンドツーエンドの機能をデモンストレーションしました。金融データの専門家となり、SageMaker Data Wranglerによって支えられたローンの支払い予測のためにデータの準備をする役割を担いました。インタラクティブなデータの準備により、迅速にデータのクリーニング、変換、分析を行い、有益な特徴を作り出すことができました。コーディングの複雑さを取り除くことで、SageMaker Canvasは高品質のトレーニングデータセットを迅速に作成することができます。この迅速なワークフローは、ビジネスに影響を与える高性能なMLモデルの構築、トレーニング、展開に直結しています。包括的なデータの準備とデータから洞察までの統合されたエクスペリエンスにより、SageMaker CanvasはMLの成果を向上させる力を与えます。データからビジネスの洞察までの旅を加速させる方法については、SageMaker Canvas immersion dayおよびAWSユーザーガイドを参照してください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more