YAML-Schema für die Funktionsgruppenspezifikation der CLI (v2)
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
Hinweis
Die in diesem Dokument beschriebene YAML-Syntax basiert auf dem JSON-Schema für die neueste Version der ML CLI v2-Erweiterung. Die Funktion dieser Syntax wird nur mit der neuesten Version der ML CLI v2-Erweiterung garantiert. Die Schemas für ältere Erweiterungsversionen finden Sie unter https://azuremlschemasprod.azureedge.net/.
YAML-Syntax
Schlüssel | type | BESCHREIBUNG | Zulässige Werte | Standardwert |
---|---|---|---|---|
$schema | Zeichenfolge | Das YAML-Schema. Wenn Sie die VS Code-Erweiterung für Azure Machine Learning zum Erstellen der YAML-Datei verwenden, können Sie durch Einfügen von „$schema“ am Anfang der Datei Schema- und Ressourcenvervollständigungen aufrufen. | ||
source | Objekt (object) | Erforderlich. Datenquelle für die Funktionsgruppe. | ||
source.type | Zeichenfolge | Erforderlich. Art der Datenquelle. | mltable, csv, parquet, deltaTable | |
source.path | Zeichenfolge | Erforderlich. Pfad der Datenquelle. Kann ein Pfad zu einer einzelnen Datei, ein Ordner oder ein Pfad mit einem Platzhalter sein. Nur Azure Storage und ABFS-Schema werden unterstützt. | ||
source.timestamp_column | Objekt (object) | Erforderlich. Zeitstempelspalte in den Quelldaten. | ||
source.timestamp_column.name | Zeichenfolge | Erforderlich. Der Name der Zeitstempelspalte in den Quelldaten. | ||
source.timestamp_column.format | Zeichenfolge | Das Format der Zeitstempelspalte. Ohne Angabe wird Spark verwendet, um den Zeitstempelwert abzuleiten. | ||
source.source_delay | Objekt (object) | Die Quelldatenverzögerung. | ||
source.source_delay.days | integer | Die Anzahl von Tagen der Quelldatenverzögerung. | ||
source.source_delay.hours | integer | Die Anzahl von Stunden der Quelldatenverzögerung. | ||
source.source_delay.minutes | integer | Die Anzahl von Minuten der Quelldatenverzögerung. | ||
feature_transformation_code | Objekt (object) | Der Ordner, in dem sich die Definition des Transformationscodes befindet. | ||
feature_transformation_code.path | Zeichenfolge | Der relative Pfad im Ordner der Funktionsgruppenspezifikation für die Suche nach dem Ordner mit dem Transformatorcode. | ||
feature_transformation_code.transformer_class | Zeichenfolge | Eine Spark-ML-Transformatorklasse im Format {module_name}.{transformer_class_name} . Das System erwartet eine Datei vom Typ {module_name}.py unter feature_transformation_code.path . {transformer_class_name} wird in dieser Python-Datei definiert. |
||
Features | Objektliste | Erforderlich. Die Features für diese Funktionsgruppe. | ||
features.name | Zeichenfolge | Erforderlich. Der Featurename. | ||
features.type | Zeichenfolge | Erforderlich. Der Featuredatentyp. | string, integer, long, float, double, binary, datetime, boolean | |
index_columns | Objektliste | Erforderlich. Die Indexspalten für die Features. Die Quelldaten müssen diese Spalten enthalten. | ||
index_columns.name | Zeichenfolge | Erforderlich. Der Indexspaltenname. | ||
index_columns.type | Zeichenfolge | Erforderlich. Der Datentyp der Indexspalte. | string, integer, long, float, double, binary, datetime, boolean | |
source_lookback | Objekt (object) | Das Rückblickzeitfenster für Quelldaten. | ||
source_lookback.days | integer | Die Anzahl von Tagen des Quellrückblicks. | ||
source_lookback.hours | integer | Die Anzahl von Stunden des Quellrückblicks. | ||
source_lookback.minutes | integer | Die Anzahl von Minuten des Quellrückblicks. | ||
temporal_join_lookback | Objekt (object) | Das Rückblickzeitfenster bei einer zeitpunktbasierten Verknüpfung. | ||
temporal_join_lookback.days | integer | Die Anzahl von Tagen für den Rückblick der zeitpunktbasierten Verknüpfung. | ||
temporal_join_lookback.hours | integer | Die Anzahl von Stunden für den Rückblick der zeitpunktbasierten Verknüpfung. | ||
temporal_join_lookback.minutes | integer | Die Anzahl von Minuten für den Rückblick der zeitpunktbasierten Verknüpfung. |
Beispiele
Beispiele finden Sie im GitHub-Beispielrepository. Im Anschluss finden Sie einige allgemeine Beispiele.
YAML-Beispiel ohne Transformationscode
$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-Beispiel mit Transformationscode
$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
Die obige Funktionsgruppenspezifikation kann auch mit dem azureml-feautrestore
SDK erstellt werden.
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,
)