CLI (v2) 特徴量セット仕様 YAML スキーマ
適用対象: Azure CLI ml 拡張機能 v2 (現行)
Note
このドキュメントで詳しく説明されている YAML 構文は、最新バージョンの ML CLI v2 拡張機能の JSON スキーマに基づいています。 この構文は、ML CLI v2 拡張機能の最新バージョンでのみ動作することが保証されています。 以前のバージョンの拡張機能のスキーマについては、https://azuremlschemasprod.azureedge.net/ でご確認いただけます。
YAML 構文
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
$schema | string | YAML スキーマ。 Azure Machine Learning 用 VS Code 拡張機能を使用して YAML ファイルを作成する場合は、ファイルの先頭に $schema を含めることで、スキーマとリソースの入力候補を呼び出すことができます。 | ||
source | object | 必須。 特徴量セットのデータ ソース。 | ||
source.type | string | 必須。 データ ソースの種類。 | mltable、csv、parquet、deltaTable | |
source.path | string | 必須。 データ ソースのパス。 1 つのファイルやフォルダーへのパス、またはワイルドカードを含むパスを指定できます。 Azure ストレージと ABFS スキーマのみがサポートされています。 | ||
source.timestamp_column | object | 必須。 ソース データのタイムスタンプ列。 | ||
source.timestamp_column.name | string | 必須。 ソース データのタイムスタンプ列名。 | ||
source.timestamp_column.format | string | タイムスタンプ列の形式。 指定されていない場合は、Spark を使用してタイムスタンプ値を推論します。 | ||
source.source_delay | object | ソース データの遅延。 | ||
source.source_delay.days | 整数 (integer) | ソース データの遅延の日数。 | ||
source.source_delay.hours | 整数 | ソース データの遅延時間数。 | ||
source.source_delay.minutes | 整数 | ソース データ遅延の分数。 | ||
feature_transformation_code | object | 変換コード定義が配置されているフォルダー。 | ||
feature_transformation_code.path | string | トランスフォーマー コード フォルダーを検索するための、特徴量セット仕様フォルダー内の相対パス。 | ||
feature_transformation_code.transformer_class | string | これは、{module_name}.{transformer_class_name} の形式の Spark 機械学習トランスフォーマー クラスです。 システムは、feature_transformation_code.path の下に {module_name}.py ファイルを見つけることを想定しています。 {transformer_class_name} は、この Python ファイル内で定義されています。 |
||
features | オブジェクトの一覧 | 必須。 この特徴量セットの特徴量。 | ||
features.name | string | 必須。 機能名。 | ||
features.type | string | 必須。 特徴量データ型。 | string、integer、long、float、double、binary、datetime、boolean | |
index_columns | オブジェクトの一覧 | 必須。 特徴量のインデックス列。 ソース データには、これらの列が含まれている必要があります。 | ||
index_columns.name | string | 必須。 インデックス列の名前。 | ||
index_columns.type | string | 必須。 インデックス列のデータ型。 | string、integer、long、float、double、binary、datetime、boolean | |
source_lookback | object | ソース データのルック バック タイム ウィンドウ。 | ||
source_lookback.days | 整数 (integer) | ソース ルック バックの日数。 | ||
source_lookback.hours | 整数 | ソース ルック バックの時間数。 | ||
source_lookback.minutes | 整数 (integer) | ソース ルック バックの分数。 | ||
temporal_join_lookback | object | ポイントオブタイム結合を実行するときのルック バック タイム ウィンドウ。 | ||
temporal_join_lookback.days | 整数 (integer) | 一時的な結合のルック バックの日数。 | ||
temporal_join_lookback.hours | 整数 | 一時的な結合のルック バックの時間数。 | ||
temporal_join_lookback.minutes | 整数 (integer) | 一時的な結合のルック バックの分数。 |
例
例は、GitHub リポジトリの例にあります。 一般的な例を以下に示します。
変換コードのない YAML の例
$schema: http://azureml/sdk-2-0/FeatureSetSpec.json
source:
type: deltatable
path: abfs://{container}@{storage}.dfs.core.windows.net/top_folder/transactions
timestamp_column: # name of the column representing the timestamp.
name: timestamp
features: # schema and properties of features generated by the feature_transformation_code
- name: accountCountry
type: string
description: country of the account
- name: numPaymentRejects1dPerUser
type: double
description: upper limit of number of payment rejects per day on the account
- name: accountAge
type: double
description: age of the account
index_columns:
- name: accountID
type: string
変換コードを使用した YAML の例
$schema: http://azureml/sdk-2-0/FeatureSetSpec.json
source:
type: parquet
path: abfs://file_system@account_name.dfs.core.windows.net/datasources/transactions-source/*.parquet
timestamp_column: # name of the column representing the timestamp.
name: timestamp
source_delay:
days: 0
hours: 3
minutes: 0
feature_transformation_code:
path: ./code
transformer_class: transaction_transform.TrsactionFeatureTransformer
features:
- name: transaction_7d_count
type: long
- name: transaction_amount_7d_sum
type: double
- name: transaction_amount_7d_avg
type: double
- name: transaction_3d_count
type: long
- name: transaction_amount_3d_sum
type: double
- name: transaction_amount_3d_avg
type: double
index_columns:
- name: accountID
type: string
source_lookback:
days: 7
hours: 0
minutes: 0
temporal_join_lookback:
days: 1
hours: 0
minutes: 0
上記の特徴量セット仕様は、azureml-feautrestore
SDK を使用して作成することもできます。
transactions_featureset_code_path = "<local path to the code folder>"
transactions_featureset_spec = create_feature_set_spec(
source = FeatureSource(
type = SourceType.parquet,
path = "wasbs://data@azuremlexampledata.blob.core.windows.net/feature-store-prp/datasources/transactions-source/*.parquet",
timestamp_column = TimestampColumn(name = "timestamp"),
source_delay = DateTimeOffset(days = 0, hours = 3, minutes = 0)
),
transformation_code = TransformationCode(
path = transactions_featureset_code_path,
transformer_class = "transaction_transform.TransactionFeatureTransformer"
),
index_columns = [
Column(name = "accountID", type = ColumnType.string)
],
source_lookback = DateTimeOffset(days = 7, hours = 0, minutes = 0),
temporal_join_lookback = DateTimeOffset(days = 1, hours = 0, minutes = 0),
infer_schema = True,
)