Condividi tramite


Schema YAML del processo di previsione automatizzato dell'interfaccia della riga di comando (v2)

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

Lo schema JSON di origine è disponibile all'indirizzo https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json

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 Valore predefinito
$schema string Percorso/URL per caricare lo schema YAML.
Se l'utente usa l'estensione VS Code di Azure Machine Learning per creare il file YAML, incluso $schema nella parte superiore del file, consente all'utente di richiamare i completamenti dello schema e delle risorse.
compute string Obbligatorio.
Nome dell'infrastruttura di calcolo AML in cui eseguire il processo.
Il calcolo può essere un riferimento a un computer di calcolo esistente nell'area di lavoro
Nota: i processi nella pipeline non supportano 'local' come compute. In questo caso l'istanza di calcolo creata nell'area di lavoro dell'utente studio di Azure Machine Learning.
1. modello [^azureml:<compute_name>] per usare il calcolo esistente,
2.'local' per usare l'esecuzione locale
'local'
limits oggetto Rappresenta un oggetto dizionario costituito da configurazioni limite del processo tabulare di Machine Learning automatizzato.
La chiave è il nome del limite all'interno del contesto del processo e il valore è il valore limite. Vedere limiti per scoprire le proprietà di questo oggetto.
name string Nome del processo di Machine Learning automatizzato inviato.
Deve essere univoco in tutti i processi nell'area di lavoro. Se non specificato, Azure Machine Learning genera automaticamente un GUID per il nome.
description string Descrizione del processo di Machine Learning automatizzato.
display_name string Nome del processo che l'utente vuole visualizzare nell'interfaccia utente di Studio. Può essere non univoco all'interno dell'area di lavoro. Se viene omesso, Azure Machine Learning genera automaticamente un identificatore aggettivo-sostantivo leggibile per il nome visualizzato.
experiment_name string Nome dell'esperimento.
Gli esperimenti sono record dei processi di training di Machine Learning in Azure. Gli esperimenti contengono i risultati delle esecuzioni, insieme a log, grafici e grafici. Il record di esecuzione di ogni processo è organizzato sotto l'esperimento corrispondente nella scheda "Esperimenti" dello studio.
Nome della directory di lavoro in cui è stato creato
environment_variables oggetto Oggetto dizionario di variabili di ambiente da impostare nel processo in cui viene eseguito il comando.
outputs oggetto Rappresenta un dizionario di configurazioni di output del processo. La chiave è un nome per l'output nel contesto del processo e il valore è la configurazione di output. Vedere l'output del processo per scoprire le proprietà di questo oggetto.
log_files oggetto Oggetto dizionario contenente i log di un'esecuzione automatica del processo di Machine Learning
log_verbosity string Livello di dettaglio del log per la scrittura nel file di log.
I valori accettabili sono definiti nella libreria di registrazione python.
'not_set', 'debug', 'info', 'warning', 'error''critical' 'info'
type const Obbligatorio.
Tipo di processo.
automl automl
task const Obbligatorio.
Tipo di attività di Machine Learning automatizzato da eseguire.
forecasting forecasting
target_column_name string Obbligatorio.
Rappresenta il nome della colonna da prevedere. Se non specificato, il processo di Machine Learning automatizzato genera un errore.
featurization oggetto Oggetto dizionario che definisce la configurazione della definizione delle caratteristiche personalizzate. Nel caso in cui non venga creata, la configurazione di Machine Learning automatizzato applica la funzionalità automatica. Vedere la definizione delle caratteristiche per visualizzare le proprietà di questo oggetto.
forecasting oggetto Oggetto dizionario che definisce le impostazioni del processo di previsione. Vedere previsione per scoprire le proprietà di questo oggetto.
n_cross_validations stringa o integer Numero di convalide incrociate da eseguire durante la selezione del modello o della pipeline se validation_data non è specificato.
Nel caso in cui entrambi validation_data e questo parametro non venga fornito o impostato su None, il processo di Machine Learning automatizzato lo auto imposta su per impostazione predefinita. distributed_featurization Se è abilitato e validation_data non viene specificato, per impostazione predefinita è impostato su 2.
'auto', [int] None
primary_metric string Metrica ottimizzata da Ml automatizzato per la selezione del modello di previsione delle serie temporali.
Se allowed_training_algorithms è necessario usare "tcn_forecaster" per il training, Machine Learning automatizzato supporta solo "normalized_root_mean_squared_error" e "normalized_mean_absolute_error" da usare come primary_metric.
"spearman_correlation", "normalized_root_mean_squared_error", "r2_score" "normalized_mean_absolute_error" "normalized_root_mean_squared_error"
training oggetto Oggetto dizionario che definisce la configurazione utilizzata nel training del modello.
Controllare il training per individuare le proprietà di questo oggetto.
training_data oggetto Obbligatorio
Oggetto dizionario contenente la configurazione mlTable che definisce i dati di training da usare come input per il training del modello. Questi dati sono un subset di dati e devono essere composti sia da funzionalità/colonne indipendenti che da funzionalità/colonna di destinazione. L'utente può usare una tabella MLTable registrata nell'area di lavoro usando il formato ':' (ad esempio Input(mltable='my_mltable:'1')) OPPURE può usare un file o una cartella locale come MLTable(ad esempio Input(mltable=MLTable(local_path="./data")). Questo oggetto deve essere fornito. Se la funzionalità di destinazione non è presente nel file di origine, Machine Learning automatizzato genera un errore. Controllare i dati di training o convalida o test per individuare le proprietà di questo oggetto.
validation_data oggetto Oggetto dizionario contenente la configurazione mlTable che definisce i dati di convalida da usare all'interno dell'esperimento di Machine Learning automatizzato per la convalida incrociata. Deve essere composto sia da funzionalità/colonne indipendenti che da funzionalità/colonna di destinazione, se questo oggetto viene fornito. I campioni nei dati di training e nei dati di convalida non possono sovrapporsi in una riduzione.
Per informazioni sulle proprietà di questo oggetto, vedere training o convalida o dati di test. Nel caso in cui questo oggetto non sia definito, machine learning automatizzato usa n_cross_validations per suddividere i dati di convalida dai dati di training definiti nell'oggetto training_data .
test_data oggetto Oggetto dizionario contenente la configurazione mlTable che definisce i dati di test da usare nell'esecuzione di test per le stime nell'uso del modello migliore e valuta il modello usando le metriche definite. Deve essere composto solo da funzionalità indipendenti usate nei dati di training (senza funzionalità di destinazione) se questo oggetto viene fornito.
Controllare i dati di training o convalida o test per individuare le proprietà di questo oggetto. Se non viene fornito, Machine Learning automatizzato usa altri metodi predefiniti per suggerire un modello ottimale da usare per l'inferenza.

limiti

Chiave Type Descrizione Valori consentiti Default value
enable_early_termination boolean Indica se abilitare la terminazione dell'esperimento se il punteggio di perdita non migliora dopo il numero di iterazioni 'x'.
In un processo di Machine Learning automatizzato non viene applicato alcun arresto anticipato alle prime 20 iterazioni. La finestra di arresto anticipato inizia solo dopo le prime 20 iterazioni.
true, false true
max_concurrent_trials integer Numero massimo di prove (processi figlio) che verrebbero eseguiti in parallelo. È consigliabile impostare il numero di esecuzioni simultanee sul numero di nodi nel cluster (calcolo aml definito in compute). 1
max_trials integer Rappresenta il numero massimo di versioni di valutazione che un processo di Machine Learning automatizzato può provare a eseguire un algoritmo di training con combinazioni diverse di iperparametri. Il valore predefinito è impostato su 1000. Se enable_early_termination è definito, il numero di versioni di valutazione usate per eseguire algoritmi di training può essere inferiore. 1000
max_cores_per_trial integer Rappresenta il numero massimo di core per i quali sono disponibili per l'uso da parte di ogni versione di valutazione. Il valore predefinito è impostato su -1, il che significa che tutti i core vengono usati nel processo. -1
timeout_minutes integer Quantità massima di tempo in minuti che il processo di Machine Learning automatizzato inviato può richiedere per l'esecuzione. Dopo l'intervallo di tempo specificato, il processo viene terminato. Questo timeout include la configurazione, la definizione delle caratteristiche, le esecuzioni di training, l'inattività e la spiegazione del modello (se specificato) di tutte le versioni di valutazione.
Si noti che non include le esecuzioni di ensembling e di spiegazione del modello alla fine del processo se il processo non riesce a essere completato, timeout_minutes perché queste funzionalità sono disponibili una volta completate tutte le prove (processi figlio) vengono eseguite.
Il valore predefinito è impostato su 360 minuti (6 ore). Per specificare un timeout minore o uguale a 1 ora (60 minuti), l'utente deve assicurarsi che le dimensioni del set di dati non siano maggiori di 10.000.000 (righe di colonna) o i risultati di un errore.
360
trial_timeout_minutes integer Quantità massima di tempo in minuti che ogni versione di valutazione (processo figlio) nel processo di Machine Learning automatizzato inviato può richiedere l'esecuzione. Dopo il periodo di tempo specificato, il processo figlio verrà terminato. 30
exit_score float Punteggio da ottenere da un esperimento. L'esperimento termina dopo il raggiungimento del punteggio specificato. Se non viene specificato (nessun criterio), l'esperimento viene eseguito fino a quando non viene eseguito alcun ulteriore avanzamento sull'oggetto definito primary metric.

previsione

Chiave Type Descrizione Valori consentiti Valore predefinito
time_column_name string Obbligatorio
Nome della colonna nel set di dati che corrisponde all'asse temporale di ogni serie temporale. Il set di dati di input per il training, la convalida o il test deve contenere questa colonna se l'attività è forecasting. Se non viene specificato o impostato su None, il processo di previsione automatizzato di Machine Learning genera un errore e termina l'esperimento.
forecast_horizon stringa o integer Orizzonte di previsione massimo in unità di frequenza delle serie temporali. Queste unità sono basate sull'intervallo di tempo dedotto dei dati di training( ad esempio mensile, settimanale) usato dal forecaster per la stima. Se è impostato su Nessuno o auto, il valore predefinito è impostato su 1, ovvero 't+1' dall'ultimo timestamp t nei dati di input. auto, [int] 1
frequency string Frequenza con cui si desidera generare la previsione, ad esempio giornaliera, settimanale, annuale e così via.
Se non è specificato o impostato su Nessuno, il valore predefinito viene dedotto dall'indice dell'ora del set di dati. L'utente può impostare il valore maggiore della frequenza dedotta del set di dati, ma non minore di esso. Ad esempio, se la frequenza del set di dati è giornaliera, può richiedere valori come giornaliero, settimanale, mensile, ma non ogni ora, perché ogni ora è minore di ogni giorno (24 ore).
Per altre informazioni, vedere la documentazione di Pandas.
None
time_series_id_column_names string o list(strings) Nomi di colonne nei dati da usare per raggruppare i dati in più serie temporali. Se time_series_id_column_names non è definito o impostato su Nessuno, Machine Learning automatizzato usa la logica di rilevamento automatico per rilevare le colonne. None
feature_lags string Rappresenta se l'utente desidera generare automaticamente ritardi per le funzionalità numeriche fornite. Il valore predefinito è impostato su auto, vale a dire che Machine Learning automatizzato usa l'euristica basata sulla correzione automatica per selezionare automaticamente gli ordini di ritardo e generare le funzionalità di ritardo corrispondenti per tutte le funzionalità numeriche. "Nessuno" indica che non vengono generati ritardi per le funzionalità numeriche. 'auto', None None
country_or_region_for_holidays string Paese o area geografica da utilizzare per generare funzionalità di vacanza. Questi caratteri devono essere rappresentati nei codici PAESE/area geografica ISO 3166, ad esempio "US" o "GB". L'elenco dei codici ISO è disponibile in https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size stringa o integer Numero di periodi tra la origin_time di una piega cv e la successiva riduzione. Ad esempio, se è impostato su 3 per i dati giornalieri, l'ora di origine per ogni piega è di tre giorni a parte. Se è impostato su Nessuno o non specificato, per impostazione predefinita viene impostato su auto . Se è di tipo integer, il valore minimo che può essere richiesto è 1 altrimenti genera un errore. auto, [int] auto
seasonality stringa o integer Stagionalità della serie temporale come numero intero multiplo della frequenza della serie. Se la stagionalità non viene specificata, il relativo valore viene impostato su 'auto', ovvero viene dedotto automaticamente da Machine Learning automatizzato. Se questo parametro non è impostato su None, il Machine Learning automatizzato presuppone che la serie temporale sia non stagionale, che equivale a impostarla come valore intero 1. 'auto', [int] auto
short_series_handling_config string Rappresenta il modo in cui Machine Learning automatizzato deve gestire le serie temporali brevi, se specificato. Accetta i valori seguenti:
  • 'auto' : la serie breve viene riempita se non sono presenti serie lunghe; in caso contrario, viene eliminata una serie breve.
  • 'pad': tutte le serie brevi vengono riempite con zeri.
  • 'drop': tutte le serie brevi vengono eliminate.
  • None: la serie breve non viene modificata.
    'auto', 'pad', 'drop'None auto
    target_aggregate_function string Rappresenta la funzione di aggregazione da utilizzare per aggregare la colonna di destinazione nella serie temporale e generare le previsioni alla frequenza specificata (definita in freq). Se questo parametro è impostato, ma il freq parametro non è impostato, viene generato un errore. Viene omesso o impostato su Nessuno, quindi non viene applicata alcuna aggregazione. 'sum', 'max', 'min''mean' auto
    target_lags stringa o integer o list(integer) Numero di periodi passati/cronologici da usare per il ritardo dai valori di destinazione in base alla frequenza del set di dati. Per impostazione predefinita, questo parametro è disattivato. L'impostazione 'auto' consente al sistema di usare il ritardo euristico automatico.
    Questa proprietà di ritardo deve essere usata quando la relazione tra le variabili indipendenti e la variabile dipendente non sono correlate per impostazione predefinita. Per altre informazioni, vedere Funzionalità differite per la previsione delle serie temporali in Machine Learning automatizzato.
    'auto', [int] None
    target_rolling_window_size stringa o integer Numero di osservazioni passate da usare per la creazione di una media della finestra mobile della colonna di destinazione. Durante la previsione, questo parametro rappresenta n periodi cronologici da usare per generare valori previsti, <= dimensioni del set di training. Se omesso, n è la dimensione massima del set di training. Specificare questo parametro quando si vuole considerare solo una certa quantità di dati cronologici durante il training del modello. 'auto'numero intero None None
    use_stl string Componenti da generare applicando la sTL scomposizione nelle serie temporali. Se non viene specificato o impostato su Nessuno, non viene generato alcun componente time series.
    use_stl può accettare due valori:
    'season' : per generare il componente stagione.
    'season_trend' : per generare sia componenti di ML automatizzato che di tendenza.
    'season', 'seasontrend' None

    training o convalida o test dei dati

    Chiave Type Descrizione Valori consentiti Valore predefinito
    datastore string Nome dell'archivio dati in cui i dati vengono caricati dall'utente.
    path string Percorso da cui devono essere caricati i dati. Può trattarsi di un percorso, folder di un file percorso o pattern di percorsi.
    pattern specifica un criterio di ricerca per consentire il globbing(* e **) di file e cartelle contenenti dati. I tipi URI supportati sono azureml, https, wasbs, abfsse adl. Per altre informazioni, vedere sintassi yaml di base per informazioni su come usare il azureml:// formato URI. URI del percorso del file di artefatto. Se questo URI non ha uno schema (ad esempio, http:, azureml e così via), viene considerato un riferimento locale e il file a cui punta viene caricato nell'archivio BLOB dell'area di lavoro predefinito durante la creazione dell'entità.
    type const Tipo di dati di input. Per generare modelli di visione artificiale, l'utente deve inserire dati di immagine etichettati come input per il training del modello sotto forma di MLTable. mltable mltable

    tecnica

    Chiave Type Descrizione Valori consentiti Default value
    allowed_training_algorithms list(string) Elenco degli algoritmi di previsione delle serie temporali da provare come modello di base per il training del modello in un esperimento. Se viene omesso o impostato su Nessuno, tutti gli algoritmi supportati vengono usati durante l'esperimento, ad eccezione degli algoritmi specificati in blocked_training_algorithms. 'auto_arima', 'prophet', ,'seasonal_naive''average' , , 'decision_tree''light_gbm''random_forest''sgd''extreme_random_trees''knn''lasso_lars''gradient_boosting''elastic_net''seasonal_average''exponential_smoothing''arimax''tcn_forecaster''naive''xg_boost_regressor' None
    blocked_training_algorithms list(string) Elenco degli algoritmi di previsione delle serie temporali da non eseguire come modello di base durante il training del modello in un esperimento. Se viene omesso o impostato su Nessuno, tutti gli algoritmi supportati vengono usati durante il training del modello. 'auto_arima', 'prophet', 'seasonal_naive', 'average', 'seasonal_average''arimax''exponential_smoothing', , , 'sgd''random_forest''extreme_random_trees''tcn_forecaster''gradient_boosting''light_gbm''elastic_net''decision_tree''knn''lasso_lars''naive''xg_boost_regressor' None
    enable_dnn_training boolean Flag per attivare o disattivare l'inclusione di modelli basati su DNN da provare durante la selezione del modello. True, False False
    enable_model_explainability boolean Rappresenta un flag per attivare la spiegazione del modello, ad esempio l'importanza della funzionalità, del modello migliore valutato dal sistema di Machine Learning automatizzato. True, False True
    enable_vote_ensemble boolean Flag per abilitare o disabilitare l'attacco di alcuni modelli di base usando l'algoritmo Voting. Per altre informazioni sugli ensemble, vedere Configurare il training automatico. true, false true
    enable_stack_ensemble boolean Flag per abilitare o disabilitare l'attacco di alcuni modelli di base usando l'algoritmo Stacking. Nelle attività di previsione questo flag è disattivato per impostazione predefinita, per evitare rischi di overfitting a causa di un piccolo set di training usato per adattare il meta learner. Per altre informazioni sugli ensemble, vedere Configurare il training automatico. true, false false

    featurization

    Chiave Type Descrizione Valori consentiti Valore predefinito
    mode string Modalità di definizione delle caratteristiche da usare dal processo di Machine Learning automatizzato.
    Impostarlo su:
    'auto' indica se il passaggio di definizione delle caratteristiche deve essere eseguito automaticamente
    'off' indica se è necessario utilizzare la funzionalità<'custom' personalizzata.

    Nota: se i dati di input sono di tipo sparse, la definizione delle caratteristiche non può essere attivata.
    'auto', 'off', 'custom' None
    blocked_transformers list(string) Elenco dei nomi dei trasformatori da bloccare durante il passaggio di definizione delle caratteristiche da Parte di Machine Learning automatizzato, se la definizione delle caratteristiche mode è impostata su "custom". 'text_target_encoder''cat_target_encoder', 'one_hot_encoder', , 'tf_idf', 'wo_e_target_encoder''label_encoder', 'word_embedding', 'naive_bayes', , 'count_vectorizer''hash_one_hot_encoder' None
    column_name_and_types oggetto Oggetto dizionario costituito da nomi di colonna come tipi chiave e di funzionalità usati per aggiornare lo scopo della colonna come valore associato, se la definizione delle caratteristiche mode è impostata su 'custom'.
    transformer_params oggetto Oggetto dizionario annidato costituito dal nome del trasformatore come chiave e dai parametri di personalizzazione corrispondenti nelle colonne del set di dati per la definizione delle caratteristiche, se la definizione delle caratteristiche mode è impostata su "custom".
    La previsione supporta imputer solo il trasformatore per la personalizzazione.
    Vedere column_transformers per scoprire come creare parametri di personalizzazione.
    None

    column_transformers

    Chiave Type Descrizione Valori consentiti Default value
    fields list(string) Elenco di nomi di colonna in cui deve essere applicato il valore specificato transformer_params .
    parameters oggetto Oggetto dizionario costituito da "strategia" come chiave e valore come strategia di imputazione.
    Altri dettagli su come può essere fornito, sono disponibili qui esempi.

    Output del processo

    Chiave Type Descrizione Valori consentiti Valore predefinito
    type string Tipo di output del processo. Per il tipo predefinito uri_folder , l'output corrisponde a una cartella. uri_folder , mlflow_model, custom_model uri_folder
    mode string Modalità di recapito dei file di output alla risorsa di archiviazione di destinazione. Per la modalità di montaggio in lettura/scrittura (rw_mount) la directory di output è una directory montata. Per la modalità di caricamento, i file scritti vengono caricati alla fine del processo. rw_mount, upload rw_mount

    Come eseguire il processo di previsione tramite l'interfaccia della riga di comando

    az ml job create --file [YOUR_CLI_YAML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]