Dela via


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

Nästa steg