Freigeben über


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,
)

Nächste Schritte