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