注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

16 - ユーザーのデータを前処理するためにユーティリティファイルを適用する

📖 タスクの概要

このリポジトリ内の任意のファイルにアクセスできるこれらのユーティリティを作成したので、ユーザーの生データセットにそれらを適用して、前処理済みデータセットを作成します。このタスクでは、以前の演習からいくつかのステップを再現し、指示を簡略化して、最小限の指示で学んだことを練習する機会を提供します。

🔨 タスクの説明

  1. リポジトリの Files パネルで /datasets フォルダーを右クリックし、New folder を選択します。

  2. 新しいフォルダーに preprocessed という名前を付け、ファイル作成ウィンドウの右下にある Create をクリックします。

  3. 新しい preprocessed フォルダーに以下の3つのファイルを作成します。

    • flight_alerts_preprocessed.py
    • priority_mapping_preprocessed.py
    • status_mapping_preprocessed.py
  4. すべての3つのファイルに、リポジトリ内のユーティリティファイルを参照して使用できるように、以下のコードスニペットを2行目に追加します。

    from myproject.datasets import type_utils as types, cleaning_utils as clean
    
  5. 3つの新しい変換ファイルのそれぞれに対して、SOURCE_DATASET_PATH を前の演習で生成された生の出力ファイルの RID に置き換えます。以下の例画像は、flight_alerts_preprocessed.py ファイルのコピーペーストワークフローを示しています。

  6. 3つの新しい変換ファイルのそれぞれに対して、10行目以降のすべてを対応するコードブロックに置き換えます。

    • 以下は、flight_alerts_preprocessed.py ファイルのコードです。

      def compute(source_df):
      
          # 正規化する文字列列を定義する
          normalize_string_columns = [
              'カテゴリー',
          ]
      
          # 文字列にキャストする列を定義する
          cast_string_columns = [
              'priority',
              'status',
          ]
      
          # 日付にキャストする列を定義する
          cast_date_columns = [
              'flightDate',
          ]
      
          # ユーティリティファイルの関数を使用して、列を適切な型にキャストする
          typed_df = types.cast_to_string(source_df, cast_string_columns)
          typed_df = types.cast_to_date(typed_df, cast_date_columns, "MM/dd/yy")
      
          # ユーティリティファイルの関数を使用して、文字列と列名を正規化する
          normalized_df = clean.normalize_strings(typed_df, normalize_string_columns)
          normalized_df = clean.normalize_column_names(normalized_df)
      
          return normalized_df
      
    • 以下は、priority_mapping_preprocessed.py および status_mapping_preprocessed.py ファイルのコードです(それぞれ同じコードブロックを使用します)。

      def compute(source_df):
      
          # 正規化する文字列列を定義する
          normalize_string_columns = [
              'mapped_value',
          ]
      
          # 文字列にキャストする列を定義する
          cast_string_columns = [
              'value',
          ]
      
          # ユーティリティファイルの関数を使用して、列を適切な型にキャストし、文字列を正規化する
          normalized_df = types.cast_to_string(source_df, cast_string_columns)
          normalized_df = clean.normalize_strings(normalized_df, normalize_string_columns)
      
          return normalized_df
      

    前処理済みの変換でクリーニングとタイプのユーティリティがどのように呼び出されるかを、コードのコメントと構文を確認してください。

  7. Preview オプションを使用して各変換ファイルをテストし、ユーティリティ関数の適用方法が出力にどのように影響するかを確認します(例:flightDate 列がdate型になり、マッピングファイルの mapped_values 列が適切にフォーマットされます)。

  8. 「feature: add preprocessing transforms」など、意味のあるメッセージでコードをコミットします。

  9. CIチェックが成功したら、各データセットを機能ブランチで Build します。

  10. ブラウザを更新する必要があるかもしれませんが、各前処理済み変換ファイルに戻って、ハイパーリンクされたテキスト「Replace paths with RIDs」をクリックしてみてください。

  11. データセットアプリケーションでブランチ上の出力データセットを検証した後、機能ブランチを Master にマージします(必要に応じてSquashを行います)。

  12. 機能ブランチを削除します。

  13. Master ブランチでデータセットをビルドし、データセットアプリケーションで出力を確認します。