CLI (v2) Trabalho de comando de previsão de ML automatizado Esquema YAML
APLICA-SE A: Azure CLI ml extension v2 (atual)
O esquema JSON de origem pode ser encontrado em https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json
Nota
A sintaxe YAML detalhada neste documento é baseada no esquema JSON para a versão mais recente da extensão ML CLI v2. Esta sintaxe é garantida apenas para funcionar com a versão mais recente da extensão ML CLI v2. Você pode encontrar os esquemas para versões de extensão mais antigas em https://azuremlschemasprod.azureedge.net/.
Sintaxe YAML
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
$schema |
string | O local/url para carregar o esquema YAML. Se o usuário usar a extensão VS Code do Azure Machine Learning para criar o arquivo YAML, inclusive $schema na parte superior do arquivo permitirá que o usuário invoque o esquema e a conclusão de recursos. |
||
compute |
string | Necessário. O nome da infraestrutura de computação AML na qual executar o trabalho. A computação pode ser uma referência a uma máquina de computação existente no espaço de trabalho Nota: os trabalhos em pipeline não suportam 'local' como compute . O 'local' aqui significa que a instância de computação criada no espaço de trabalho do estúdio do Azure Machine Learning do usuário. |
1. padrão [^azureml:<compute_name>] de utilização dos cálculos existentes,2. 'local' utilizar a execução local |
'local' |
limits |
objeto | Representa um objeto de dicionário que consiste em configurações de limite do trabalho tabular de ML automatizado. A chave é o nome do limite dentro do contexto do trabalho e o valor é o valor limite. Consulte os limites para descobrir as propriedades deste objeto. |
||
name |
string | O nome do trabalho de ML automatizado enviado. Ele deve ser exclusivo em todos os trabalhos no espaço de trabalho. Se não for especificado, o Azure Machine Learning gera automaticamente um GUID para o nome. |
||
description |
string | A descrição do trabalho de ML automatizado. | ||
display_name |
string | O nome do trabalho que o usuário deseja exibir na interface do usuário do estúdio. Pode não ser exclusivo dentro do espaço de trabalho. Se for omitido, o Aprendizado de Máquina do Azure gera automaticamente um identificador de substantivo adjetivo legível por humanos para o nome para exibição. | ||
experiment_name |
string | O nome do experimento. Os experimentos são registros de seus trabalhos de treinamento de ML no Azure. Os experimentos contêm os resultados de suas execuções, juntamente com logs, gráficos e gráficos. O registro de execução de cada trabalho é organizado sob o experimento correspondente na guia "Experimentos" do estúdio. |
Nome do diretório de trabalho no qual foi criado | |
environment_variables |
objeto | Um objeto de dicionário de variáveis de ambiente para definir no processo onde o comando está sendo executado. | ||
outputs |
objeto | Representa um dicionário de configurações de saída do trabalho. A chave é um nome para a saída dentro do contexto do trabalho e o valor é a configuração de saída. Consulte a saída do trabalho para descobrir as propriedades deste objeto. | ||
log_files |
objeto | Um objeto de dicionário contendo logs de uma execução automatizada de trabalho de ML | ||
log_verbosity |
string | O nível de detalhamento do log para gravar no arquivo de log. Os valores aceitáveis são definidos na biblioteca de log do Python. |
'not_set' , 'debug' , 'info' , 'warning' , 'error' , 'critical' |
'info' |
type |
const | Necessário. O tipo de trabalho. |
automl |
automl |
task |
const | Necessário. O tipo de tarefa de ML automatizada a ser executada. |
forecasting |
forecasting |
target_column_name |
string | Necessário. Representa o nome da coluna a ser prevista. O trabalho de ML automatizado gera um erro se não for especificado. |
||
featurization |
objeto | Um objeto de dicionário que define a configuração da featurização personalizada. Caso não seja criada, a configuração de ML automatizada aplica a featurização automática. Consulte featurization para ver as propriedades deste objeto. | ||
forecasting |
objeto | Um objeto de dicionário que define as configurações do trabalho de previsão. Consulte a previsão para descobrir as propriedades deste objeto. | ||
n_cross_validations |
string ou inteiro | O número de validações cruzadas a serem executadas durante a seleção do modelo/pipeline, se validation_data não for especificado.Caso ambos validation_data e esse parâmetro não sejam fornecidos ou definidos como None , o trabalho de ML automatizado o define como auto padrão. distributed_featurization Caso esteja ativado e validation_data não seja especificado, ele será definido como 2 por padrão. |
'auto' , [int] |
None |
primary_metric |
string | Uma métrica que o ML automatizado otimiza para a seleção de modelos de previsão de séries temporais. Se allowed_training_algorithms tiver 'tcn_forecaster' para usar para treinamento, então o ML automatizado só suporta 'normalized_root_mean_squared_error' e 'normalized_mean_absolute_error' para ser usado como primary_metric. |
"spearman_correlation" , "normalized_root_mean_squared_error" , "r2_score" "normalized_mean_absolute_error" |
"normalized_root_mean_squared_error" |
training |
objeto | Um objeto de dicionário que define a configuração usada no treinamento do modelo. Consulte o treinamento para descobrir as propriedades desse objeto. |
||
training_data |
objeto | Obrigatório Um objeto de dicionário que contém a configuração MLTable que define os dados de treinamento a serem usados como entrada para o treinamento do modelo. Esses dados são um subconjunto de dados e devem ser compostos por recursos/colunas independentes e recurso/coluna de destino. O usuário pode usar um MLTable registrado no espaço de trabalho usando o formato ':' (por exemplo, Input(mltable='my_mltable:1')) OU pode usar um arquivo ou pasta local como MLTable(por exemplo, Input(mltable=MLTable(local_path="./data")). Este objeto deve ser fornecido. Se o recurso de destino não estiver presente no arquivo de origem, o ML automatizado lançará um erro. Verifique os dados de treinamento, validação ou teste para descobrir as propriedades desse objeto. |
||
validation_data |
objeto | Um objeto de dicionário que contém a configuração MLTable que define os dados de validação a serem usados no experimento de ML automatizado para validação cruzada. Ele deve ser composto por recursos/colunas independentes e recurso/coluna de destino se este objeto for fornecido. Amostras em dados de treinamento e dados de validação não podem se sobrepor em uma dobra. Consulte dados de treinamento, validação ou teste para descobrir as propriedades desse objeto. Caso esse objeto não esteja definido, o ML automatizado é usado n_cross_validations para dividir os dados de validação dos dados de treinamento definidos no training_data objeto. |
||
test_data |
objeto | Um objeto de dicionário que contém a configuração MLTable que define os dados de teste a serem usados na execução de teste para previsões usando o melhor modelo e avalia o modelo usando métricas definidas. Ele deve ser composto apenas por recursos independentes usados em dados de treinamento (sem recurso de destino) se esse objeto for fornecido. Verifique os dados de treinamento, validação ou teste para descobrir as propriedades desse objeto. Se não for fornecido, o ML automatizado usará outros métodos internos para sugerir o melhor modelo a ser usado para inferência. |
Limites
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
enable_early_termination |
boolean | Representa se a habilitação do término do experimento deve ser ativada se a pontuação de perda não melhorar após o número 'x' de iterações. Em um trabalho de ML automatizado, nenhuma parada antecipada é aplicada nas primeiras 20 iterações. A janela de parada antecipada começa somente após as primeiras 20 iterações. |
true , false |
true |
max_concurrent_trials |
integer | O número máximo de ensaios (trabalhos infantis) que seriam executados em paralelo. É altamente recomendável definir o número de execuções simultâneas para o número de nós no cluster (computação aml definida em compute ). |
1 |
|
max_trials |
integer | Representa o número máximo de testes que um trabalho de ML automatizado pode tentar executar um algoritmo de treinamento com diferentes combinações de hiperparâmetros. Seu valor padrão é definido como 1000. Se enable_early_termination for definido, então o número de testes usados para executar algoritmos de treinamento pode ser menor. |
1000 |
|
max_cores_per_trial |
integer | Representa o número máximo de núcleos por que estão disponíveis para serem usados por cada ensaio. Seu valor padrão é definido como -1, o que significa que todos os núcleos são usados no processo. | -1 |
|
timeout_minutes |
integer | A quantidade máxima de tempo, em minutos, que o trabalho de ML automatizado enviado pode levar para ser executado. Após o período de tempo especificado, o trabalho é encerrado. Este tempo limite inclui configuração, featurização, corridas de treinamento, agrupamento e explicabilidade do modelo (se fornecido) de todos os ensaios. Observe que ele não inclui o conjunto e a explicabilidade do modelo é executada no final do processo se o trabalho não for concluído dentro do previsto timeout_minutes , uma vez que esses recursos estão disponíveis assim que todos os testes (trabalhos infantis) forem concluídos. Seu valor padrão é definido como 360 minutos (6 horas). Para especificar um tempo limite menor ou igual a 1 hora (60 minutos), o usuário deve certificar-se de que o tamanho do conjunto de dados não seja maior que 10.000.000 (coluna de tempos de linha) ou que um erro resulte. |
360 |
|
trial_timeout_minutes |
integer | A quantidade máxima de tempo, em minutos, que cada avaliação (trabalho filho) no trabalho de ML automatizado enviado pode levar em execução. Após o período de tempo especificado, o trabalho infantil será encerrado. | 30 |
|
exit_score |
flutuante | A pontuação a alcançar através de uma experiência. O experimento termina depois que a pontuação especificada é atingida. Se não for especificado (sem critérios), a experiência corre até que nenhum progresso adicional seja feito no definido primary metric . |
previsão
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
time_column_name |
string | Obrigatório O nome da coluna no conjunto de dados que corresponde ao eixo temporal de cada série temporal. O conjunto de dados de entrada para treinamento, validação ou teste deve conter esta coluna se a tarefa for forecasting . Se não for fornecido ou definido como None , o trabalho de previsão de ML automatizado lançará um erro e encerrará o experimento. |
||
forecast_horizon |
string ou inteiro | O horizonte máximo de previsão em unidades de frequência de séries cronológicas. Essas unidades são baseadas no intervalo de tempo inferido de seus dados de treinamento (por exemplo, mensal, semanal) que o meteorologista usa para prever. Se estiver definido como Nenhum ou auto , seu valor padrão será definido como 1, o que significa 't+1' do último carimbo de data/hora t nos dados de entrada. |
auto , [int] |
1 |
frequency |
string | A frequência com que a geração de previsão é desejada, por exemplo, diariamente, semanalmente, anualmente, etc. Se ele não for especificado ou definido como Nenhum, seu valor padrão será inferido a partir do índice de tempo do conjunto de dados. O usuário pode definir seu valor maior do que a frequência inferida do conjunto de dados, mas não inferior a ele. Por exemplo, se a frequência do conjunto de dados for diária, ele pode levar valores como diário, semanal, mensal, mas não por hora, pois por hora é menor que diariamente(24 horas). Consulte a documentação dos pandas para obter mais informações. |
None |
|
time_series_id_column_names |
string ou list(strings) | Os nomes das colunas nos dados a serem usados para agrupar dados em várias séries temporais. Se time_series_id_column_names não estiver definido ou definido como Nenhum, o ML automatizado usará a lógica de deteção automática para detetar as colunas. | None |
|
feature_lags |
string | Representa se o usuário deseja gerar atrasos automaticamente para os recursos numéricos fornecidos. O padrão é definido como , o auto que significa que o ML automatizado usa heurística baseada em autocorrelação para selecionar automaticamente ordens de atraso e gerar recursos de atraso correspondentes para todos os recursos numéricos. "Nenhum" significa que não são gerados atrasos para quaisquer características numéricas. |
'auto' , None |
None |
country_or_region_for_holidays |
string | O país ou região a ser usado para gerar recursos de férias. Estes carateres devem ser representados nos códigos de país/região de duas letras ISO 3166, por exemplo «US» ou «GB». A lista dos códigos ISO pode ser consultada em https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. | None |
|
cv_step_size |
string ou inteiro | O número de períodos entre a origin_time de um CV dobra e a dobra seguinte. Por exemplo, se estiver definido como 3 para dados diários, o tempo de origem para cada dobra é de três dias de intervalo. Se estiver definido como Nenhum ou não especificado, será definido como auto por padrão. Se for do tipo inteiro, o valor mínimo que pode levar é 1, caso contrário, gera um erro. |
auto , [int] |
auto |
seasonality |
string ou inteiro | A sazonalidade da série temporal como um múltiplo inteiro da frequência da série. Se a sazonalidade não for especificada, seu valor será definido como , o 'auto' que significa que é inferido automaticamente pelo ML automatizado. Se esse parâmetro não estiver definido como None , o ML automatizado assumirá séries temporais como não sazonais, o que equivale a defini-las como valor inteiro 1. |
'auto' , [int] |
auto |
short_series_handling_config |
string | Representa como o ML automatizado deve lidar com séries temporais curtas, se especificado. São necessários os seguintes valores:
|
'auto' , 'pad' , 'drop' , None |
auto |
target_aggregate_function |
string | Representa a função de agregação a ser usada para agregar a coluna de destino em séries temporais e gerar as previsões na frequência especificada (definida em freq ). Se esse parâmetro estiver definido, mas não freq estiver definido, um erro será gerado. Ele é omitido ou definido como Nenhum, então nenhuma agregação é aplicada. |
'sum' , 'max' , 'min' , 'mean' |
auto |
target_lags |
string ou inteiro ou list(inteiro) | O número de períodos passados/históricos a serem usados para ficar defasado em relação aos valores-alvo com base na frequência do conjunto de dados. Por padrão, esse parâmetro está desativado. A 'auto' configuração permite que o sistema use lag baseado em heurística automática. Esta propriedade de atraso deve ser usada quando a relação entre as variáveis independentes e a variável dependente não se correlacionar por padrão. Para obter mais informações, consulte Recursos com atraso para previsão de séries temporais no ML automatizado. |
'auto' , [int] |
None |
target_rolling_window_size |
string ou inteiro | O número de observações anteriores a serem usadas para criar uma média de janela móvel da coluna de destino. Ao fazer a previsão, este parâmetro representa n períodos históricos a serem usados para gerar valores previstos, <= tamanho do conjunto de treinamento. Se omitido, n é o tamanho total do conjunto de treinamento. Especifique esse parâmetro quando quiser considerar apenas uma certa quantidade de histórico ao treinar o modelo. | 'auto' , inteiro, None |
None |
use_stl |
string | Os componentes a gerar aplicando a decomposição STL em séries temporais. Se não for fornecido ou definido como Nenhum, nenhum componente de série temporal será gerado. use_stl pode tomar dois valores: 'season' : para gerar componente sazonal. 'season_trend' : para gerar componentes de ML e tendência automatizados da temporada. |
'season' , 'seasontrend' |
None |
dados de formação, validação ou teste
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
datastore |
string | O nome do armazenamento de dados onde os dados são carregados pelo usuário. | ||
path |
string | O caminho de onde os dados devem ser carregados. Pode ser um file caminho, folder caminho ou pattern para caminhos. pattern especifica um padrão de pesquisa para permitir globbing(* e ** ) de arquivos e pastas contendo dados. Os tipos de URI suportados são azureml , https , wasbs , abfss e adl . Para obter mais informações, consulte Sintaxe yaml principal para entender como usar o azureml:// formato URI. URI do local do arquivo de artefato. Se esse URI não tiver um esquema (por exemplo, http:, azureml: etc.), ele será considerado uma referência local e o arquivo para o qual ele aponta será carregado para o blob-storage do espaço de trabalho padrão à medida que a entidade for criada. |
||
type |
const | O tipo de dados de entrada. Para gerar modelos de visão computacional, o usuário precisa trazer dados de imagem rotulados como entrada para o treinamento do modelo na forma de um MLTable. | mltable |
mltable |
Formação
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
allowed_training_algorithms |
list(string) | Uma lista de algoritmos de previsão de séries temporais para experimentar como modelo base para treinamento de modelos em um experimento. Se ele for omitido ou definido como Nenhum, todos os algoritmos suportados serão usados durante o experimento, exceto os algoritmos especificados em blocked_training_algorithms . |
'auto_arima' , 'prophet' , , , 'average' 'random_forest' 'knn' 'decision_tree' 'lasso_lars' 'gradient_boosting' 'sgd' 'extreme_random_trees' 'seasonal_naive' 'exponential_smoothing' 'light_gbm' 'seasonal_average' 'arimax' 'tcn_forecaster' 'elastic_net' 'naive' 'xg_boost_regressor' |
None |
blocked_training_algorithms |
list(string) | Uma lista de algoritmos de previsão de séries temporais para não serem executados como modelo base durante o treinamento do modelo em um experimento. Se ele for omitido ou definido como Nenhum, todos os algoritmos suportados serão usados durante o treinamento do modelo. | 'auto_arima' , 'prophet' , , 'naive' , 'seasonal_naive' , 'seasonal_average' , 'gradient_boosting' 'knn' 'lasso_lars' 'sgd' 'extreme_random_trees' 'random_forest' 'light_gbm' 'decision_tree' 'average' 'exponential_smoothing' 'arimax' 'tcn_forecaster' 'elastic_net' 'xg_boost_regressor' |
None |
enable_dnn_training |
boolean | Um sinalizador para ativar ou desativar a inclusão de modelos baseados em DNN para experimentar durante a seleção de modelos. | True , False |
False |
enable_model_explainability |
boolean | Representa um sinalizador para ativar a explicabilidade do modelo, como a importância do recurso, do melhor modelo avaliado pelo sistema de ML automatizado. | True , False |
True |
enable_vote_ensemble |
boolean | Um sinalizador para ativar ou desativar o agrupamento de alguns modelos base usando o algoritmo de votação. Para obter mais informações sobre conjuntos, consulte Configurar trem automático. | true , false |
true |
enable_stack_ensemble |
boolean | Um sinalizador para ativar ou desativar o agrupamento de alguns modelos base usando o algoritmo de empilhamento. Nas tarefas de previsão, esse sinalizador é desativado por padrão, para evitar riscos de sobreajuste devido ao pequeno conjunto de treinamento usado no ajuste do meta learner. Para obter mais informações sobre conjuntos, consulte Configurar trem automático. | true , false |
false |
featurização
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
mode |
string | O modo de featurização a ser usado pelo trabalho de ML automatizado. Definindo-o para: 'auto' indica se a etapa de featurização deve ser feita automaticamente'off' indica não featurização indica se a featurização<'custom' personalizada deve ser usada. Nota: Se os dados de entrada forem escassos, a featurização não pode ser ativada. |
'auto' , 'off' , 'custom' |
None |
blocked_transformers |
list(string) | Uma lista de nomes de transformadores a serem bloqueados durante a etapa de featurização pelo ML automatizado, se a featurização mode estiver definida como 'personalizada'. |
'text_target_encoder' , 'one_hot_encoder' , , 'cat_target_encoder' , 'tf_idf' , 'label_encoder' 'wo_e_target_encoder' , 'word_embedding' , 'naive_bayes' 'count_vectorizer' ,'hash_one_hot_encoder' |
None |
column_name_and_types |
objeto | Um objeto de dicionário que consiste em nomes de coluna como chave de ditado e tipos de recurso usados para atualizar a finalidade da coluna como valor associado, se featurization mode estiver definido como 'personalizado'. |
||
transformer_params |
objeto | Um objeto de dicionário aninhado que consiste no nome do transformador como chave e parâmetros de personalização correspondentes nas colunas do conjunto de dados para featurização, se a featurização mode estiver definida como 'personalizada'.A previsão suporta imputer apenas transformador para personalização.Confira column_transformers para descobrir como criar parâmetros de personalização. |
None |
column_transformers
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
fields |
list(string) | Deve ser aplicada uma lista dos nomes das colunas em que deve ser fornecida transformer_params . |
||
parameters |
objeto | Um objeto de dicionário que consiste em 'estratégia' como chave e valor como estratégia de imputação. Mais detalhes sobre como ele pode ser fornecido, é fornecido em exemplos aqui. |
Resultados do trabalho
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
type |
string | O tipo de saída do trabalho. Para o tipo padrão uri_folder , a saída corresponde a uma pasta. |
uri_folder , mlflow_model , custom_model |
uri_folder |
mode |
string | O modo de como o(s) arquivo(s) de saída são entregues ao armazenamento de destino. Para o modo de montagem de leitura-gravação (rw_mount ), o diretório de saída é um diretório montado. Para o modo de upload, o(s) arquivo(s) escrito(s) são(são) carregado(s) no final do trabalho. |
rw_mount , upload |
rw_mount |
Como executar o trabalho de previsão via CLI
az ml job create --file [YOUR_CLI_YAML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Ligações rápidas para mais referências:
- Instalar e usar a CLI (v2)
- Como executar um trabalho de ML automatizado via CLI
- Como fazer previsões automáticas de comboios
- Exemplos de previsão de CLI:
Previsão de venda de suco de laranja
Previsão da procura de energia
Previsão de Demanda de Compartilhamento de Bicicletas
Previsão diária de usuários ativos do GitHub