YAML-schema för CLI-funktionsuppsättning (v2)
GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)
Kommentar
YAML-syntaxen som beskrivs i det här dokumentet baseras på JSON-schemat för den senaste versionen av ML CLI v2-tillägget. Den här syntaxen är garanterad att endast fungera med den senaste versionen av ML CLI v2-tillägget. Du hittar scheman för äldre tilläggsversioner på https://azuremlschemasprod.azureedge.net/.
YAML-syntax
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
$schema | sträng | YAML-schemat. Om du använder Azure Machine Learning VS Code-tillägget för att skapa YAML-filen, inklusive $schema överst i filen kan du anropa schema- och resursavslutningar. | ||
source | objekt | Obligatoriskt. Datakälla för funktionsuppsättning. | ||
source.type | sträng | Obligatoriskt. Typ av datakälla. | mltable, csv, parquet, deltaTable | |
source.path | sträng | Obligatoriskt. Sökväg till datakällan. Det kan vara en sökväg till en enda fil, en mapp eller sökväg med jokertecken. Endast Azure Storage- och ABFS-schema stöds. | ||
source.timestamp_column | objekt | Obligatoriskt. Tidsstämpelkolumn i källdata. | ||
source.timestamp_column.name | sträng | Obligatoriskt. Tidsstämpelkolumnnamnet i källdata. | ||
source.timestamp_column.format | sträng | Tidsstämpelns kolumnformat. Om det inte anges använder du Spark för att härleda tidsstämpelvärdet. | ||
source.source_delay | objekt | Källdatafördröjningen. | ||
source.source_delay.days | integer | Antalet dagar för källdatafördröjningen. | ||
source.source_delay.hours | integer | Antalet timmar för källdatafördröjningen. | ||
source.source_delay.minutes | integer | Antalet minuter av källdatafördröjningen. | ||
feature_transformation_code | objekt | Mappen där definitionen av transformeringskod finns. | ||
feature_transformation_code.path | sträng | Den relativa sökvägen i funktionsuppsättningsspecifikationsmappen för att hitta transformeringskodmappen. | ||
feature_transformation_code.transformer_class | sträng | Det här är en Spark-maskininlärningstransformatorklass i formatet {module_name}.{transformer_class_name} . Systemet förväntar sig att hitta en {module_name}.py fil under feature_transformation_code.path . {transformer_class_name} Definieras i den här Python-filen. |
||
funktioner | lista över objekt | Obligatoriskt. Funktionerna för den här funktionsuppsättningen. | ||
features.name | sträng | Obligatoriskt. Funktionsnamnet. | ||
features.type | sträng | Obligatoriskt. Funktionsdatatypen. | string, heltal, long, float, double, binary, datetime, boolean | |
index_columns | lista över objekt | Obligatoriskt. Indexkolumnerna för funktionerna. Källdata ska innehålla dessa kolumner. | ||
index_columns.name | sträng | Obligatoriskt. Indexkolumnens namn. | ||
index_columns.type | sträng | Obligatoriskt. Datatypen indexkolumn. | string, heltal, long, float, double, binary, datetime, boolean | |
source_lookback | objekt | Tillbakablickstidsfönstret för källdata. | ||
source_lookback.days | integer | Källans antal dagar ser tillbaka. | ||
source_lookback.hours | integer | Källans antal timmar ser tillbaka. | ||
source_lookback.minutes | integer | Antalet minuter av källan ser tillbaka. | ||
temporal_join_lookback | objekt | Fönstret för tillbakablickstid när du ansluter till tidpunkten. | ||
temporal_join_lookback.days | integer | Antalet dagar för den tidsmässiga anslutningens återblick. | ||
temporal_join_lookback.hours | integer | Antalet timmar för den tidsmässiga kopplingsåtersökningen. | ||
temporal_join_lookback.minutes | integer | Antalet minuter för den tidsmässiga kopplingsåtersökningen. |
Exempel
Exempel är tillgängliga i GitHub-exempellagringsplatsen. Några vanliga exempel visas nedan.
YAML-exempel utan transformeringskod
$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-exempel med transformeringskod
$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
Funktionsuppsättningsspecifikationen ovan kan också skapas med hjälp av 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,
)