Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

Amazon SageMaker Data Wranglerを使用して、機械学習用にDatabricksからデータを準備します

データ サイエンス チームとデータ エンジニアリング チームは、データの選択、クリーニング、変換のステップを実行する機械学習 (ML) ライフサイクルのデータ準備フェーズに時間のかなりの部分を費やします。 不良または低品質のデータは、得られる洞察の関連性を大幅に低下させるため、意味のある洞察と予測を生成するために、これは ML ワークフローにおいて必要かつ重要なステップです。

データ エンジニアリング チームは従来、下流で使用する生データの取り込み、統合、変換を担当していました。 データ サイエンティストは、自然言語や時系列などのドメイン固有の ML ユースケースのために、データに対して追加の処理を行う必要があることがよくあります。 たとえば、特定の ML アルゴリズムは欠損値、まばらな特徴、外れ値に敏感な場合があり、特別な考慮が必要です。 データセットが良好な状態にある場合でも、データ サイエンティストは、モデルから得られる洞察を最大化するために、特徴量の分布を変換したり、新しい特徴量を作成したりする必要がある場合があります。 これらの目標を達成するために、データ サイエンティストは、要求された変更に対応するためにデータ エンジニアリング チームに依存する必要があり、その結果、モデル開発プロセスに依存性が生じ、遅延が発生します。 あるいは、データ サイエンス チームは、さまざまなプログラミング パラダイムを使用して、データ準備と特徴量エンジニアリングを内部で実行することを選択することもできます。 ただし、ライブラリとフレームワークのインストールと構成に時間と労力を投資する必要があり、その時間をモデルのパフォーマンスの最適化に有効に費やすことができるため、これは理想的ではありません。

AmazonSageMakerデータラングラー データ サイエンティストがデータセットを選択、クリーニング、探索するための単一のビジュアル インターフェイスを提供することで、データの準備と特徴量エンジニアリングのプロセスが簡素化され、ML 用のデータの集計と準備にかかる時間を数週間から数分に短縮します。 Data Wrangler は、コードを書かずに機能の正規化、変換、結合を支援する 300 を超える組み込みデータ変換を提供します。 複数のデータ ソースからデータをインポートできます。 Amazon シンプル ストレージ サービス (Amazon S3)、 アマゾンアテナ, Amazonレッドシフト, スノーフレーク。 も使用できるようになりました データブリック MLのデータを簡単に準備するためのデータラングラーのデータソースとして。

Databricks Lakehouse プラットフォームは、データ レイクとデータ ウェアハウスの最良の要素を組み合わせて、データ ウェアハウスの信頼性、強力なガバナンス、パフォーマンスと、データ レイクのオープン性、柔軟性、機械学習サポートを提供します。 Databricks を Data Wrangler のデータ ソースとして使用すると、Databricks にすばやく簡単に接続し、SQL を使用して Databricks に保存されているデータを対話的にクエリし、インポート前にデータをプレビューできるようになりました。 さらに、Databricks のデータを Amazon S3 に保存されているデータ、および Amazon Athena、Amazon Redshift、Snowflake を通じてクエリされたデータと結合して、ML のユースケースに適切なデータセットを作成できます。

この投稿では、Amazon SageMaker Data Wrangler を使用して Lending Club Loan データセットを変換し、ML モデルのトレーニングで使用します。

ソリューションの概要

次の図は、ソリューションアーキテクチャを示しています。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

Lending Club Loan データセットには、現在のローン状況や最新の支払い情報など、2007 年から 2011 年までに発行されたすべてのローンの完全なローン データが含まれています。 39,717 行、22 特徴列、3 つのターゲット ラベルがあります。

Data Wrangler を使用してデータを変換するには、次の高レベルの手順を完了します。

  1. データセットをダウンロードして分割します。
  2. データ ラングラー フローを作成します。
  3. Databricks から Data Wrangler にデータをインポートします。
  4. Amazon S3 から Data Wrangler にデータをインポートします。
  5. データを結合します。
  6. 変換を適用します。
  7. データセットをエクスポートします。

前提条件

この投稿では、Databricks クラスターが実行されていることを前提としています。 クラスターが AWS で実行されている場合は、以下が構成されていることを確認してください。

データブリックのセットアップ

続きます インスタンスプロファイルを使用した S3 バケットへの安全なアクセス 必要な AWS IDおよびアクセス管理 (IAM) ロール、S3 バケット ポリシー、Databricks クラスター構成。 Databricks クラスターが適切な構成で構成されていることを確認します。 Instance Profileを詳細オプションで選択し、目的の S3 バケットにアクセスします。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

Databricks クラスターが起動し、Amazon S3 への必要なアクセス権を備えて実行されたら、 JDBC URL Data Wrangler が接続するために Databricks クラスターから使用します。

JDBC URLを取得する

JDBC URL をフェッチするには、次の手順を実行します。

  1. Databricks で、クラスター UI に移動します。
  2. クラスターを選択します。
  3. ソフトウェア設定ページで、下図のように   タブを選択 詳細オプション.
  4. 詳細オプションを選択してください JDBC/ODBC タブには何も表示されないことに注意してください。
  5. JDBC URLをコピーします。
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

必ず個人アクセスを置き換えてください トークン URLで。

データ ラングラーのセットアップ

このステップでは、Amazon SageMaker (インスタンス) にアクセスできることを前提としています。 Amazon SageMakerスタジオ、Studio ユーザー。

Data Wrangler から Databricks JDBC 接続へのアクセスを許可するには、Studio ユーザーに次の権限が必要です。

  • secretsmanager:PutResourcePolicy

以下の手順に従って、上記の権限を持つ Studio ユーザーに割り当てられた IAM 実行ロールを IAM 管理ユーザーとして更新します。

  1. IAMコンソールで、 役割 ナビゲーションペインに表示されます。
  2. Studio ユーザーに割り当てられたロールを選択します。
  3. 選択する 権限を追加.
  4. 選択する インラインポリシーを作成する.
  5. [サービス] で、選択します シークレットマネージャー.
  6. On 、選択する アクセスレベル.
  7. 選択する 権限管理.
  8. 選択する PutResourceポリシー.
  9. リソース、選択する 特定の をクリックして このアカウントのいずれか.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

データセットをダウンロードして分割する

あなたはによって始めることができます データセットのダウンロード。 デモの目的で、特徴列をコピーしてデータセットを分割しました。 id, emp_title, emp_length, home_owner, annual_inc XNUMX番目を作成する ローン_2.csv ファイル。 元のローン ファイルから前述の列を除きます。 id 列を作成し、元のファイルの名前を次のように変更します。 ローン_1.csv。 アップロードする ローン_1.csv ファイルへ データブリック テーブルを作成するには loans_1 および ローン_2.csv S3バケット内。

データ ラングラー フローの作成

Data Wrangler の前提条件については、次を参照してください。 データラングラーの使用を開始する.

新しいデータ フローを作成することから始めましょう。

  1. スタジオコンソールでは、 File メニュー、選択 新作.
  2. 選択する データラングラーフロー.
  3. 必要に応じてフローの名前を変更します。
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

あるいは、ランチャーから新しいデータ フローを作成することもできます。

  • Studioコンソールで、 Amazon SageMakerスタジオ ナビゲーションペインに表示されます。
  • 選択する 新しいデータフロー.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

新しいフローの作成が完了するまでに数分かかる場合があります。 フローが作成されると、次のようになります。 インポート日 ページで見やすくするために変数を解析したりすることができます。

Databricks から Data Wrangler にデータをインポートする

次に、Data Wrangler で Databricks (JDBC) をデータ ソースとして設定します。 Databricks からデータをインポートするには、まず Databricks をデータ ソースとして追加する必要があります。

  1. ソフトウェア設定ページで、下図のように インポート日 Data Wrangler フローのタブで、選択します データソースを追加する.
  2. ドロップダウンメニューで、 データブリック (JDBC).
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

ソフトウェア設定ページで、下図のように Databricks からデータをインポートする ページでは、クラスターの詳細を入力します。

  1. データセット名、フロー ファイルで使用する名前を入力します。
  2. ドライバ、ドライバーを選択します com.simba.spark.jdbc.Driver.
  3. JDBC URL、前に取得した Databricks クラスターの URL を入力します。

URL は次の形式になる必要があります。 jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. SQL クエリ エディターで、次の SQL SELECT ステートメントを指定します。
    select * from loans_1

Databricks にデータをアップロードするときに別のテーブル名を選択した場合は、上記の SQL クエリの Loans_1 をそれに応じて置き換えます。

SQLクエリ Data Wrangler のセクションでは、JDBC Databricks データベースに接続されているテーブルに対してクエリを実行できます。 事前に選択された サンプリングを有効にする この設定では、デフォルトでデータセットの最初の 50,000 行が取得されます。 データセットのサイズに応じて、選択を解除します サンプリングを有効にする インポート時間が長くなる可能性があります。

  1. 選択する ラン.

クエリを実行すると、Data Wrangler で Databricks データセットのプレビューが直接表示されます。
Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

  1. 選択する インポート.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

Data Wrangler は、XNUMX つの Databricks クラスターまたは必要に応じて複数のクラスターへの複数の同時接続をセットアップできる柔軟性を提供し、結合されたデータセットの分析と準備を可能にします。

Amazon S3 から Data Wrangler にデータをインポートする

次に、インポートしましょう loan_2.csv Amazon S3 からのファイル。

  1. [インポート] タブで、次を選択します。 アマゾンS3 データソースとして。
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  2. の S3 バケットに移動します。 loan_2.csv ファイルにソフトウェアを指定する必要があります。

CSV ファイルを選択すると、データをプレビューできます。

  1. 詳細 ペイン、選択 高度な設定 確かめる サンプリングを有効にする が選択され、 段落 に選ばれています デリミタ.
  2. 選択する インポート.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

後に loans_2.csv データセットが正常にインポートされると、データ フロー インターフェイスに Databricks JDBC と Amazon S3 の両方のデータ ソースが表示されます。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

データを結合する

Databricks と Amazon S3 からデータをインポートしたので、共通の一意の識別子列を使用してデータセットを結合しましょう。

  1. ソフトウェア設定ページで、下図のように データフロー タブ、 データ型、プラス記号を選択します loans_1.
  2. 選択する 加入.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  3. 選択する loans_2.csv ファイルとして データセット。
  4. 選択する 構成 結合基準を設定します。
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  5. 名前 、結合の名前を入力します。
  6. 結合タイプ、選択する Inner(インナー) この投稿のために。
  7. 選択する id 参加する列。
  8. 選択する 申し込む 結合されたデータセットをプレビューします。
  9. 選択する Add をクリックしてデータ フローに追加します。
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

変換を適用する

Data Wrangler には、コーディングを必要としない 300 を超える組み込み変換が付属しています。 組み込みの変換を使用してデータセットを準備しましょう。

ドロップカラム

まず、冗長な ID 列を削除します。

  1. 結合されたノードで、プラス記号を選択します。
  2. 選択する 変換を追加.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  3. 変形、 選ぶ +ステップを追加.
  4. 選択する 列を管理する.
  5. 最適化の適用、選択する ドロップカラム.
  6. ドロップする列、列を選択 id_0.
  7. 選択する プレビュー.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  8. 選択する Add.

フォーマット文字列

文字列の書式設定を適用して、パーセント記号を削除しましょう。 int_rate および revol_util 列。

  1. ソフトウェア設定ページで、下図のように 且つ タブ、下 変換、選択する +ステップを追加.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  2. 選択する フォーマット文字列.
  3. 最適化の適用、選択する 右から文字を削除.

Data Wrangler を使用すると、選択した変換を複数の列に同時に適用できます。

  1. 入力列、選択する int_rate および revol_util.
  2. 削除する文字、 入る %.
  3. 選択する プレビュー.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  4. 選択する Add.

テキストをフィーチャーする

ではベクトル化しましょう verification_status、テキスト機能列。 以下で説明するように、カウント ベクターライザーと標準トークナイザーを適用することにより、テキスト列を用語頻度 - ドキュメント頻度逆変換 (TF-IDF) ベクトルに変換します。 Data Wrangler では、必要に応じて独自のトークナイザーを使用するオプションも提供します。

  1. トランスフォーマー、選択する +ステップを追加.
  2. 選択する テキストをフィーチャーする.
  3. 最適化の適用、選択する ベクトル化する.
  4. 入力列、選択する verification_status.
  5. 選択する プレビュー.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  6. 選択する Add.

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

テキスト、カテゴリ、数値などのさまざまな列タイプに複数の変換を適用すると、変換されたデータセットを ML モデルのトレーニングに使用できるようになります。 最後のステップは、変換されたデータセットを Amazon S3 にエクスポートすることです。 Data Wrangler では、変換のダウンストリーム利用に関して複数のオプションから選択できます。

この投稿では、 データを出力 内のオプション 最適化の適用 ビューを使用して、変換されたデータセットを Amazon S3 に直接エクスポートします。

  1. 選択する データを出力.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。
  2. S3の場所、選択する ブラウズ S3 バケットを選択します。
  3. 選択する データを出力.
    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。

クリーンアップ

Data Wrangler での作業が完了したら、 Data Wrangler インスタンスをシャットダウンします 追加料金の発生を避けるため。

まとめ

この投稿では、Data Wrangler で Databricks をデータ ソースとして迅速かつ簡単に設定して接続し、SQL を使用して Databricks に保存されているデータを対話的にクエリし、インポート前にデータをプレビューする方法について説明しました。 さらに、Databricks のデータを Amazon S3 に保存されているデータと結合する方法についても検討しました。 次に、結合されたデータセットにデータ変換を適用して、データ準備パイプラインを作成しました。 ターゲット漏洩やバイアス レポートの生成など、Data Wrangler の分析機能をさらに詳しく調べるには、次のブログ投稿を参照してください。 糖尿病患者の再入院予測に Amazon SageMaker Data Wrangler を使用してデータ準備を加速する.

Data Wrangler の使用を開始するには、次を参照してください。 Amazon SageMaker Data Wrangler で ML データを準備する、およびデータラングラーの最新情報を参照してください 製品ページ.


著者について

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。ループ・ベインズ AI/ML を専門とする AWS のソリューションアーキテクトです。 彼は、人工知能と機械学習を使用して顧客が革新し、ビジネス目標を達成できるよう支援することに情熱を注いでいます。 余暇には、ループは読書とハイキングを楽しんでいます。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。Igor Alekseevは、AWSのデータと分析のパートナーソリューションアーキテクトです。 Igorは戦略的パートナーと協力して、AWSに最適化された複雑なアーキテクチャの構築を支援しています。 AWSに参加する前は、データ/ソリューションアーキテクトとして、Hadoopエコシステムのいくつかのデータレイクを含む多くのプロジェクトをビッグデータに実装していました。 データエンジニアとして、彼はAI/MLを不正検出とオフィスオートメーションに適用することに携わっていました。 Igorのプロジェクトは、通信、金融、公安、製造、ヘルスケアなど、さまざまな業界で行われました。 以前は、Igorはフルスタックエンジニア/技術リーダーとして働いていました。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。フォングエン AWSのシニアプロダクトマネージャーです。 彼女はSageMakerStudioのユーザーエクスペリエンスをリードしています。 彼女は、エンタープライズスペースとコンシューマースペースの両方で、顧客に執着し、データ駆動型の製品を作成した13年の経験があります。 余暇には、読書を楽しんだり、自然の中で過ごしたり、家族と過ごす時間を楽しんでいます。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence を使用して、機械学習用に Databricks からのデータを準備します。垂直検索。あい。ヘンリー・ワン AWS のソフトウェア開発エンジニアです。 彼はカリフォルニア大学デービス校を卒業した後、最近 Data Wrangler チームに加わりました。 彼はデータ サイエンスと機械学習に興味があり、趣味として 3D プリントを行っています。

タイムスタンプ:

より多くの AWS機械学習