Condividi tramite


Schema YAML della specifica del set di funzionalità dell'interfaccia della riga di comando (v2)

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

Nota

La sintassi YAML descritta in dettaglio in questo documento si basa sullo schema JSON per la versione più recente dell'estensione dell'interfaccia della riga di comando di Machine Learning v2. Il funzionamento di questa sintassi è garantito solo con la versione più recente dell'estensione dell'interfaccia della riga di comando di Machine Learning v2. È possibile trovare gli schemi per le versioni di estensione precedenti in https://azuremlschemasprod.azureedge.net/.

Sintassi YAML

Chiave Type Descrizione Valori consentiti Default value
$schema string Schema YAML. Se si usa l'estensione VS Code di Azure Machine Learning per creare il file YAML, incluso $schema all'inizio del file consente di richiamare i completamenti dello schema e delle risorse.
source oggetto Obbligatorio. Origine dati per il set di funzionalità.
source.type string Obbligatorio. Tipo di origine dati. mltable, csv, parquet, deltaTable
source.path string Obbligatorio. Percorso dell'origine dati. Può trattarsi di un percorso di un singolo file, di una cartella o di un percorso con caratteri jolly. Sono supportati solo lo schema di Archiviazione di Azure e ABFS.
source.timestamp_column oggetto Obbligatorio. Colonna Timestamp nei dati di origine.
source.timestamp_column.name string Obbligatorio. Nome della colonna timestamp nei dati di origine.
source.timestamp_column.format string Formato della colonna timestamp. Se non specificato, usare Spark per dedurre il valore timestamp.
source.source_delay oggetto Ritardo dei dati di origine.
source.source_delay.days integer Numero di giorni di ritardo dei dati di origine.
source.source_delay ore integer Numero di ore di ritardo dei dati di origine.
source.source_delay.minutes integer Numero di minuti di ritardo dei dati di origine.
feature_transformation_code oggetto Cartella in cui si trova la definizione del codice di trasformazione.
feature_transformation_code.path string Percorso relativo all'interno della cartella specifica del set di funzionalità per trovare la cartella del codice del trasformatore.
classe feature_transformation_code.transformer_class string Si tratta di una classe trasformatore di Machine Learning Spark nel formato .{module_name}.{transformer_class_name} Il sistema prevede di trovare un {module_name}.py file in feature_transformation_code.path. L'oggetto {transformer_class_name} è definito in questo file Python.
modelli di ARM elenco di oggetti Obbligatorio. Funzionalità per questo set di funzionalità.
features.name string Obbligatorio. Nome della funzionalità.
features.type string Obbligatorio. Tipo di dati della funzionalità. string, integer, long, float, double, binary, datetime, boolean
index_columns elenco di oggetti Obbligatorio. Colonne di indice per le funzionalità. I dati di origine devono contenere queste colonne.
index_columns.name string Obbligatorio. Nome della colonna dell'indice.
index_columns.type string Obbligatorio. Tipo di dati della colonna dell'indice. string, integer, long, float, double, binary, datetime, boolean
source_lookback oggetto Intervallo di tempo di ricerca per i dati di origine.
source_lookback.days integer Numero di giorni di lookback dell'origine.
source_lookback.hours integer Numero di ore di lookback dell'origine.
source_lookback.minutes integer Numero di minuti di lookback dell'origine.
temporal_join_lookback oggetto Intervallo di tempo di visualizzazione quando si esegue il join temporizzato.
temporal_join_lookback.days integer Numero di giorni di lookback del join temporale.
temporal_join_lookback.hours integer Numero di ore di lookback del join temporale.
temporal_join_lookback.minuti integer Numero di minuti di lookback del join temporale.

Esempi

Gli esempi sono disponibili nel repository GitHub di esempi. Di seguito sono riportati alcuni esempi comuni.

Esempio YAML senza codice di trasformazione

$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

Esempio YAML con codice di trasformazione

$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

La specifica del set di funzionalità precedente può essere creata anche usando azureml-feautrestore l'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,
)

Passaggi successivi