3.5. 特徴量ビューの作成


特徴量ビュー内で特徴量を定義します。特徴量ビュー は、データソース内の時系列特徴量データの論理グループを表すオブジェクトです。特徴量ビューは、Feature Store に対して、特徴量の値がどこにあるか (たとえば、parquet ファイルや BigQuery テーブル内) を示します。

特徴量ビューを使用すると、モデルをトレーニングするときのオフライン環境と、実稼働環境でモデルに特徴量を提供するときのオンライン環境の両方に対して、既存の特徴量データを一貫した方法で定義できます。

Feature Store は、次のタスクの実行時に特徴量ビューを使用します。

  • 特徴量ビューのデータソースをクエリーして、特徴量の値を履歴から検索してトレーニングデータセットを生成します。単一のトレーニングデータセットは、複数の特徴量ビューからの特徴量で構成されます。
  • 特徴量の値をオンラインストアまたはオフラインストアに読み込みます。特徴量ビューは、オンラインストアまたはオフラインストアのストレージスキーマを決定します。特徴量の値はバッチソースまたはストリームソースから読み込むことができます。
  • オンラインストアまたはオフラインストアから特徴量を取得します。特徴量ビューは、オンラインストアまたはオフラインストアから特徴量を検索するためのスキーマ定義を提供します。

特徴量プロジェクトを作成すると、feature_repo サブフォルダーに、特徴量定義の例を含む Python ファイル (例: example_features.py) が含まれます。

新しい特徴量を定義するには、サンプルファイル内のコードを編集するか、特徴量リポジトリーに新しいファイルを追加します。

注記: 特徴量ビューは、タイムスタンプのあるデータでのみ機能します。データにタイムスタンプが含まれていない場合は、ダミーのタイムスタンプを挿入します。次の例は、PostgreSQL ベースのデータに対してダミーのタイムスタンプを挿入してテーブルを作成する方法を示しています。

CREATE TABLE employee_metadata (
  employee_id INT PRIMARY KEY,
  department TEXT,
  dummy_event_timestamp TIMESTAMP DEFAULT '2024-01-01'
);
INSERT INTO employee_metadata (employee_id, department)
VALUES (1, 'Advanced'), (2, 'New');
Copy to Clipboard Toggle word wrap

前提条件

  • ユースケースに関連するデータが何であるか理解している。
  • ML モデルの特徴量として使用するデータ内の属性を特定した。

手順

  1. JupyterLab などの IDE で、特徴量の定義例が含まれている feature_repo/example_features.py ファイルを開くか、feature_repo ディレクトリーに新しい Python (.py) ファイルを作成します。
  2. 次の例に示す構造に基づいて、ユースケースに関連する特徴量ビューを作成します。

    credit_history_source = FileSource(   
    1
    
    	name="Credit history",
    	path="data/credit_history.parquet",
    	file_format=ParquetFormat(),
    	timestamp_field="event_timestamp",
    	created_timestamp_column="created_timestamp",
    )
    credit_history = FeatureView(       
    2
    
    	name="credit_history",
    	entities=[dob_ssn],             
    3
    
    	ttl=timedelta(days=90),         
    4
    
    	schema=[                        
    5
    
        	Field(name="credit_card_due", dtype=Int64),
        	Field(name="mortgage_due", dtype=Int64),
        	Field(name="student_loan_due", dtype=Int64),
        	Field(name="vehicle_loan_due", dtype=Int64),
        	Field(name="hard_pulls", dtype=Int64),
        	Field(name="missed_payments_2y", dtype=Int64),
        	Field(name="missed_payments_1y", dtype=Int64),
        	Field(name="missed_payments_6m", dtype=Int64),
        	Field(name="bankruptcies", dtype=Int64),
    	],
    	source=credit_history_source,  
    6
    
        tags={"origin": "internet"},   
    7
    
    )
    Copy to Clipboard Toggle word wrap
    1
    タイムスタンプ付きの表形式データを提供するデータソース。特徴量ビューには常に、トレーニングデータセットを生成するときや、特徴量の値をオンラインストアに具体化するときにデータソースが必要です。可能なデータソースは、データウェアハウス (BigQuery、Snowflake、Redshift)、データレイク (S3、GCS)、またはストリームソースからのバッチデータソースです。ユーザーは、データソースから Feature Store に特徴量をプッシュし、その特徴量をトレーニングまたはバッチスコアリング ("offline")、リアルタイムの特徴量サービング ("online")、またはその両方で利用できます。
    2
    プロジェクト内の特徴量ビューを識別する名前。特徴量ビュー内では、特徴量名は一意である必要があります。
    3
    0 個以上のエンティティー。通常、特徴量ビューには特定のオブジェクトのプロパティーである特徴量が含まれます。この場合、そのオブジェクトはエンティティーとして定義され、特徴量ビューに含まれます。特徴量が特定のオブジェクトに関連していない場合、特徴量ビューにはエンティティーが存在しない可能性があります。
    4
    (オプション) Feature Store が履歴データセットを生成するときに、どのくらい過去に遡って検索するかを制限する有効期間 (TTL)。
    5
    1 つ以上の特徴量定義。
    6
    データソースへの参照。
    7
    (オプション) UI で表示するとき、CLI コマンドを使用してリスト表示するとき、またはレジストリーを直接照会するときに特徴量のフィルタリングを有効にするタグなど、メタデータを追加できます。
  3. ファイルを保存します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る