見出し画像

Amazon SageMaker Data Wrangler を使った機械学習データ準備

はじめに

ローコード機械学習 Amazon SageMaker Data Wrangler を使った、機械学習用のデータ準備をご紹介したいと思います。

Amazon SageMaker Data Wrangler とは

Amazon SageMaker Data Wrangler(以下、Data Wrangler と記載する)は、機械学習用のデータを加工・分析する Amazon SageMaker のサービスの一つです。
ほとんどコードを使わずデータ選択、データ分析、前処理、特徴の作成を行うことが可能となっており、機械学習のためのデータ準備を効率化することができます。

機械学習プロジェクトに費やされる、データ準備の時間は最大 80%かかる場合があり、
正しいデータの収集から、クリーニング、ラベリング、そして可視化や検証といった一連のステップを踏む必要があります。
データの準備は、モデルのトレーニングと評価の基盤を築く工程であり、高品質なモデルを構築するためには適切なデータ準備が重要となります。

Data Wrangler の特徴

Data Wrangler は、機械学習プロジェクトにおけるデータ準備に特化したサービスです。

データのインポート、可視化、分析、変換といった各ステップを単一のビジュアルインターフェイスから実行することが可能であり、
GUI で操作可能な 300 を超える組み込み機能を使って、ほとんどコードを使わずにデータ分析、クリーニング、特徴の作成を素早く行うことができます。
これによりデータの前処理と特徴量エンジニアリングを簡素化および合理化することができます。

以下は、Data Wrangler の主な機能になります。

Insights Report:インサイトレポート
データの品質を自動的に検証し、データの異常を検出するのに役立つインサイトレポートを提供しています。
データの欠損値、無効な値、特徴タイプなどの簡単な概要が含まれたレポートから、データの確認を行います。

Insights Report

Analysis:データ分析
インサイトレポートに加えて、組み込み済みの可視化テンプレートを使用したデータ分析が行えます。
ヒストグラム、散布図、折れ線グラフ、棒グラフなどが、データに適応できるように組み込まれており、
より細かくデータの確認と分析を行うことが可能です。

Analysis

Transform:データ変換
組み込み済みのデータ変換を使用すれば、コードを記述しなくても素早くデータを変換することができます。
組み込み変換は、重複行の削除、欠損データの補完、ワンホットエンコーディングなど一般的な変換を行えるほか、
PySpark、Python(ユーザー定義関数)、pandas、および PySpark SQL を使用してカスタム変換を追加することもできます。

Transform

Data Flow:データフロー
Data Wrangler UI を使用して、一連のデータ準備手順をデータフローとして管理することができます。
データフローを通して処理手順の確認や分析・変換の追加を行い、
作成したデータフローは、様々な用途に合わせてエクスポートすることが可能となっています。

Data Flow

機械学習ワークフローへの統合

Data Wrangler で作成したデータフローは、エクスポートオプションが多数用意されており、選択に応じたノートブックを自動生成してくれます。

Notebook
  • Amazon SageMaker Processing :
    データの前処理や特徴量エンジニアリングなど、データ処理タスクを実行するためのサービスです。
    Data Wrangler で作成したデータフローを、ジョブとして実行するための処理コードとノートブックを作成します。
    処理されたデータは、 Amazon Simple Storage Service (Amazon S3)に保存され、モデルのトレーニングに使用されます。

  • Amazon SageMaker Pipelines :
    機械学習ワークフローを自動化し、管理する CI/CD サービスです。
    Data Wrangler で作成したデータフローを、パイプラインの一部として登録し実行するためのノートブックを作成します。
    登録されたデータフローは、パイプライン内で実行するためのステップとして組み込まれ、
    データの準備、モデルのトレーニング、モデルのデプロイまでを管理するパイプラインを作成できます。

    • Inference Pipeline :
      推論時に生データを変換し処理する、推論パイプラインへのエクスポートも可能となりました。
      これにより、リアルタイム推論とバッチ推論をサポートし、より正確で信頼ある予測の生成と、
      データフローを再利用し、本番環境へのデプロイを効率化することができます。

  • Amazon SageMaker Feature Store :
    機械学習モデルの特徴量データを保存、共有、管理するためのサービスです。
    Data Wrangler を使用すると、作成した特徴量を直接 Feature Store に公開することができます。
    データフローを使用して大規模なデータを取得し、変換されたデータをフィーチャーグループに取り込みます。
    Feature Store に登録された特徴量は、フィーチャーグループとして管理され、他のモデルやプロジェクトに再利用することができます。

各ノートブックでは、Data Wrangler で作成したデータフローファイルを、処理ジョブへの入力として使用するため、Amazon Simple Storage Service (Amazon S3)へアップロードが行われます。

Update

それぞれ自動生成されたノートブックを基に、コードを実行するだけでデータフローのアップロード、処理ジョブの作成、パイプラインの作成、特徴量グループの作成が行えるほか、手動で行った操作を忠実に再現する Python スクリプトを作成することも可能となっています。

スクリプト

まとめ

紹介の通り、Data Wrangler は機械学習のデータ準備を手助けしてくれる非常に強力なツールです。

300 を超えるデータ分析・データ変換機能を、ほとんどコードを使うことなく利用できる以外にも、
作成したデータフローを、ワンクリックで他の機械学習サービスに統合してくれるエクスポート機能は、とても魅力的です。

次回は、実際に Data Wrangler を使用して各機能と操作性について検証を行いたいと思います。

この記事が気に入ったらサポートをしてみませんか?