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' , '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 , abfss e 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
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]
Collegamenti rapidi per altre informazioni di riferimento:
- Installare e usare l'interfaccia della riga di comando (v2)
- Come eseguire un processo di Machine Learning automatizzato tramite l'interfaccia della riga di comando
- Come eseguire il training automatico delle previsioni
- Esempi di previsione dell'interfaccia della riga di comando:
Previsione delle vendite di succo d'arancia
Previsione della domanda di energia
Previsione della domanda di Bike Share
Previsioni per gli utenti attivi giornalieri di GitHub