Schéma YAML specifikace sady funkcí CLI (v2)

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

Poznámka:

Syntaxe YAML podrobná v tomto dokumentu je založená na schématu JSON pro nejnovější verzi rozšíření ML CLI v2. Tato syntaxe je zaručena pouze pro práci s nejnovější verzí rozšíření ML CLI v2. Schémata pro starší verze rozšíření najdete na adrese https://azuremlschemasprod.azureedge.net/.

Syntaxe YAML

Klíč Typ Popis Povolené hodnoty Default value
$schema string Schéma YAML. Pokud k vytvoření souboru YAML použijete rozšíření Azure Machine Learning VS Code, včetně $schema v horní části souboru, můžete vyvolat dokončení schématu a prostředků.
zdroj objekt Povinný: Zdroj dat pro sadu funkcí
source.type string Povinný: Typ zdroje dat mltable, csv, parquet, deltaTable
source.path string Povinný: Cesta ke zdroji dat Může to být cesta k jednomu souboru, složce nebo cestě se zástupným znakem. Podporují se pouze úložiště Azure a schéma ABFS.
source.timestamp_column objekt Povinný: Sloupec časového razítka ve zdrojových datech
source.timestamp_column.name string Povinný: Název sloupce časového razítka ve zdrojových datech.
source.timestamp_column.format string Formát sloupce časového razítka. Pokud není k dispozici, použijte Spark k odvození hodnoty časového razítka.
source.source_delay objekt Zpoždění zdrojových dat.
source.source_delay.days integer Počet dnů zpoždění zdrojových dat.
source.source_delay.hours integer Počet hodin zpoždění zdrojových dat
source.source_delay.minutes integer Počet minut zpoždění zdrojových dat.
feature_transformation_code objekt Složka, ve které se nachází definice transformačního kódu.
feature_transformation_code.path string Relativní cesta ve složce specifikace sady funkcí k vyhledání složky kódu transformátoru.
feature_transformation_code.transformer_class string Jedná se o třídu transformátoru strojového {module_name}.{transformer_class_name}učení Sparku ve formátu . Systém očekává, že najde soubor pod položkou {module_name}.py feature_transformation_code.path. Tento soubor Pythonu {transformer_class_name} je definován.
features seznam objektů Povinný: Funkce pro tuto sadu funkcí.
features.name string Povinný: Název funkce.
features.type string Povinný: Datový typ funkce. string, integer, long, float, double, binary, datetime, boolean
index_columns seznam objektů Povinný: Sloupce indexu pro funkce. Zdrojová data by měla obsahovat tyto sloupce.
index_columns.name string Povinný: Název indexového sloupce
index_columns.type string Povinný: Datový typ indexového sloupce. string, integer, long, float, double, binary, datetime, boolean
source_lookback objekt Časové období zpětného zobrazení zdrojových dat.
source_lookback.days integer Počet dnů, po které se zdroj vrátí.
source_lookback.hours integer Počet hodin, po které se zdroj vrátí.
source_lookback.minutes integer Počet minut zdrojového zdroje se vrátí zpět.
temporal_join_lookback objekt Časové období zpětného pohledu při připojování k určitému bodu v čase.
temporal_join_lookback.days integer Počet dnů zpětného vyhledávání dočasného spojení.
temporal_join_lookback.hours integer Počet hodin zpětného vyhledávání dočasného spojení.
temporal_join_lookback.minutes integer Počet minut zpětného vyhledávání dočasného spojení.

Příklady

Příklady jsou k dispozici v příkladech v úložišti GitHub. Níže jsou uvedené některé běžné příklady.

Příklad YAML bez transformačního kódu

$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

Příklad YAML s transformačním kódem

$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

Výše uvedená specifikace sady funkcí je také možné vytvořit pomocí azureml-feautrestore sady 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,
)

Další kroky