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