Compartilhar via


Esquema YAML do trabalho de comando da Previsão de ML automatizado da CLI (v2)

APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)

O código-fonte do esquema JSON pode ser encontrado em https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json

Observação

A sintaxe YAML detalhada neste documento baseia-se no esquema JSON da última versão da extensão de ML da CLI v2. Essa sintaxe só tem a garantia de funcionar com a última versão da extensão de ML da CLI v2. Encontre os esquemas para as versões mais antigas da extensão em https://azuremlschemasprod.azureedge.net/.

Sintaxe YAML

Chave Type Descrição Valores permitidos Valor padrão
$schema string O local/a 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, incluir $schema na parte superior do arquivo permite que o usuário invoque o esquema e as conclusões 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 workspace
Observação: os trabalhos do pipeline não dão suporte a "local" como compute. O "local" aqui significa que a instância de computação foi criada no workspace Estúdio do Azure Machine Learning do usuário.
1. Padrão [^azureml:<compute_name>] para usar a computação existente,
2.'local' para usar a execução local
'local'
limits objeto Representa um objeto de dicionário que consiste em limitar as configurações do trabalho tabular de ML automatizado.
A chave é o nome do limite no contexto do trabalho e o valor é o valor limite. Confira os limites para descobrir as propriedades desse objeto.
name string O nome do trabalho de ML Automatizado enviado.
Precisa ser exclusivo em todos os trabalhos no espaço de trabalho. Se não for especificado, o Azure Machine Learning vai gerar 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 ser não exclusivo dentro do workspace. Se for omitido, o Azure Machine Learning vai gerar automaticamente um identificador adjetivo-substantivo legível como o nome de exibição.
experiment_name string O nome do experimento.
Experimentos são registros dos seus trabalhos de treinamento de ML no Azure. Os experimentos contêm os resultados de suas execuções, juntamente com logs, gráficos e grafos. O registro de execução de cada trabalho é organizado no experimento correspondente da guia "Experimentos" do estúdio.
Nome do diretório de trabalho no qual ele foi criado
environment_variables objeto Um objeto de dicionário da variável de ambiente a ser definido no processo em que 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. Confira a saída do trabalho para descobrir as propriedades desse objeto.
log_files objeto Um objeto de dicionário que contém logs de uma execução de trabalho de ML automatizado
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 registros em 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 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 personalização de recursos. Caso não seja criada, a configuração de ML automatizado aplica a personalização automática. Confira a definição de recursos para ver as propriedades desse objeto.
forecasting objeto Um objeto de dicionário que define as configurações do trabalho de previsão. Confira os limites para descobrir as propriedades desse objeto.
n_cross_validations Cadeia de caracteres ou número inteiro O número de validações cruzadas a serem executadas durante a seleção de modelo/pipeline, se validation_data não for especificado.
Caso tanto validation_data quanto esse parâmetro não sejam fornecidos ou definidos como None, o trabalho de ML automatizado o definirá como auto por padrão. Caso distributed_featurization esteja habilitado 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 do modelo de Previsão de Série Temporal.
Se allowed_training_algorithms tiver "tcn_forecaster" a ser usado para treinamento, o ML automatizado só terá suporte em 'normalized_root_mean_squared_error' e 'normalized_mean_absolute_error' a serem usados 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 de modelo.
Confira treinamento para descobrir as propriedades desse objeto.
training_data objeto Necessário
Um objeto de dicionário que contém a configuração de MLTable que define os dados de treinamento a serem usados como entrada para treinamento de 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 uma MLTable registrada no workspace usando o formato ':' (por exemplo, Input(mltable='my_mltable:1')) OU pode usar um arquivo ou pasta local como uma MLTable(por exemplo, Input(mltable=MLTable(local_path="./data")). Esse objeto deve ser fornecido. Se o recurso de destino não estiver presente no arquivo de origem, o ML automatizado vai gerar 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 de 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 esse objeto for fornecido. Exemplos em dados de treinamento e dados de validação não podem se sobrepor em uma dobra.
Confira os dados de treinamento, validação ou teste para descobrir as propriedades desse objeto. Caso esse objeto não seja definido, o ML automatizado usa n_cross_validations para dividir os dados de validação dos dados de treinamento definidos no objeto training_data.
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 no uso do 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 Type Descrição Valores permitidos Valor padrão
enable_early_termination booleano Representa se a finalização do experimento será habilitada 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 interrupção 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 inteiro Número máximo de avaliações (trabalhos filhos) que seriam executadas 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 inteiro Representa o número máximo de avaliações que um trabalho de ML Automatizado pode tentar executar em um algoritmo de treinamento com uma combinação diferente de hiperparâmetros. O valor padrão é definido como 1000. Se enable_early_termination for definido, o número de avaliações usadas para executar algoritmos de treinamento poderá ser menor. 1000
max_cores_per_trial inteiro Representa o número máximo de núcleos que estão disponíveis para serem usados por cada avaliação. O valor padrão deles é definido como -1, o que significa que todos os núcleos são usados no processo. -1
timeout_minutes inteiro Quantidade máxima de tempo em minutos que o trabalho do ML Automatizado enviado pode levar para executar. Após a quantidade de tempo especificada, o trabalho é encerrado. Esse tempo limite inclui instalação, recursos, execuções de treinamento, ensembling e explicabilidade de modelo (se fornecido) de todas as avaliações.
Observe que ele não inclui as execuções de explicação de ensembling e modelo ao final do processo se o trabalho não for concluído dentro do timeout_minutes fornecido, pois esses recursos estarão disponíveis depois que todas as avaliações (trabalhos filho) forem feitas.
O valor padrão é definido como 360 minutos (6 horas) Para especificar um tempo limite menor ou igual a uma hora (60 minutos), o usuário deve verificar se o tamanho do conjunto de dados não é maior que 10.000.000 (linhas vezes coluna) ou se há erros.
360
trial_timeout_minutes inteiro Representa a quantidade máxima de tempo em minutos que cada avaliação (trabalho filho) no trabalho do ML Automatizado enviado pode levar na execução. Após o período especificado, o trabalho filho será encerrado. 30
exit_score FLOAT A pontuação a ser alcançada por um experimento. O experimento termina depois que a pontuação especificada é alcançada. Se não for especificado (nenhum critério), o experimento será executado até que nenhum outro progresso seja feito em primary metric definido.

previsão

Chave Type Descrição Valores permitidos Valor padrão
time_column_name string Necessá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 é fornecido ou definido como None, o trabalho de previsão de ML automatizado gera um erro e encerra o experimento.
forecast_horizon Cadeia de caracteres ou número inteiro O horizonte de previsão máximo em unidades de frequência de série temporal. Essas unidades são baseadas no intervalo de tempo inferido dos dados de treinamento (por exemplo: mensal, semanal) que o preditor usa para prever. Se for definido como Nenhum ou auto, seu valor padrão será definido como 1, o que significa 't+1' do último carimbo de data/hora nos dados de entrada. auto, [int] 1
frequency string A frequência na qual a geração de previsão é desejada, por exemplo, diariamente, semanal, anual etc.
Se não for especificado ou definido como Nenhum, seu valor padrão será inferido do índice de tempo do conjunto de dados. O usuário pode definir seu valor maior que a frequência inferida do conjunto de dados, mas não menor do que ele. Por exemplo, se a frequência do conjunto de dados for diária, ela poderá levar valores como diário, semanal, mensal, mas não por hora, pois por hora é menor que diariamente (24 horas).
Confira a documentação do 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 detecção automática para detectar 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 auto, o que significa que o ML automatizado usa heurística baseada em relação automática para selecionar automaticamente pedidos de retardo e gerar recursos de retardo correspondentes para todos os recursos numéricos. "Nenhum" significa que nenhum retardo é gerado para nenhum recurso numérico. 'auto', None None
country_or_region_for_holidays string País/região a ser usado para gerar recursos de feriados. Esses caracteres devem ser representados em código de país/região de duas letras ISO 3166, por exemplo, 'US' ou 'GB'. A lista dos códigos ISO pode ser encontrada em https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size Cadeia de caracteres ou número inteiro O número de períodos entre o origin_time de uma dobra de validação cruzada e a próxima dobra. Por exemplo, se for definido como 3 para dados diários, a hora de origem de cada dobra terá três dias de diferença da anterior. Se ele definir como Nenhum ou não especificado, ele será definido como auto por padrão. Se for do tipo inteiro, o valor mínimo que ele pode levar será 1, caso contrário, vai gerar um erro. auto, [int] auto
seasonality Cadeia de caracteres ou número inteiro Defina a sazonalidade da série temporal como um inteiro múltiplo da frequência da série. Se sazonalidade não for especificada, seu valor será definido como 'auto', o que significa que ele será inferido automaticamente pelo ML automatizado. Se esse parâmetro não estiver definido como None, o ML automatizado pressupõe série temporal como não sazonal, o que equivale a defini-lo 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. Ele usa os seguintes valores:
  • 'auto': as séries curtas são preenchidas se não há séries longas; caso contrário, as séries curtas são removidas.
  • 'pad': todas as séries curtas são adicionadas com zeros.
  • 'drop': todas as séries curtas são descartadas.
  • None: a série curta não é modificada.
    '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érie temporal e gerar as previsões na frequência especificada (definida em freq). Se este parâmetro for definido, mas o parâmetro freq não for definido, será gerado um erro. Ele é omitido ou definido como Nenhum e, em seguida, nenhuma agregação é aplicada. 'sum', 'max', 'min', 'mean' auto
    target_lags string ou integer ou list(integer) O número de períodos passados/históricos a serem usados para retardo dos valores de destino com base na frequência do conjunto de dados. Por padrão, esse parâmetro é desativado. A configuração 'auto' permite que o sistema use o retardo baseado em heurística automática.
    Essa propriedade de atraso deve ser usada quando a relação entre as variáveis independentes e a variável dependente não se correlaciona por padrão. Para obter mais informações, confira Recursos registrados para previsão de série temporal no ML automatizado.
    'auto', [int] None
    target_rolling_window_size Cadeia de caracteres ou número inteiro O número de observações anteriores a serem usadas para criar uma média de janela móvel da coluna de destino. Durante a previsão, esse parâmetro representa n períodos históricos a serem usados para gerar valores previstos, <= o tamanho do conjunto de treinamento. Se omitido, n será o tamanho total do conjunto de treinamento. Especifique esse parâmetro quando desejar considerar apenas certa quantidade de histórico no treinamento do modelo. 'auto', integer, None None
    use_stl string Os componentes a serem gerados aplicando a decomposição de STL em série temporal. Se não é fornecido ou definido como Nenhum, não é gerado nenhum componente de série temporal.
    use_stl pode assumir dois valores:
    'season' : para gerar o componente de temporada.
    'season_trend' : para gerar a ML automatizada da temporada e os componentes de tendência.
    'season', 'seasontrend' None

    dados de treinamento, de validação ou de teste

    Chave Type Descrição Valores permitidos Valor padrão
    datastore string O nome do armazenamento de dados em que os dados são carregados pelo usuário.
    path string O caminho do qual os dados devem ser carregados. Pode ser um caminho file, caminho folder ou pattern para caminhos.
    O pattern especifica um padrão de pesquisa para permitir o agrupamento (* e **) de arquivos e pastas contendo dados. Os tipos de URI com suporte são azureml, https, wasbs, abfss e adl. Para obter mais informações, confira Sintaxe principal do YAML para entender como usar o formato do URI azureml://. URI do local do arquivo de artefato. Se esse URI não tiver um esquema (por exemplo, http:, azureml: etc.), será considerado uma referência local e o arquivo para o qual ele aponta será carregado no armazenamento de blobs padrão do workspace durante a criação da entidade.
    type const Tipo de dados de entrada. Para gerar modelos de visão computacional, o usuário precisa fornecer dados de imagem rotulados como entrada para o treinamento do modelo na forma de uma MLTable. mltable mltable

    treinando

    Chave Type Descrição Valores permitidos Valor padrão
    allowed_training_algorithms list(string) Uma lista de algoritmos de Previsão de Série Temporal para experimentar como modelo de base para treinamento de modelo em um experimento. Se for omitido ou definido como Nenhum, todos os algoritmos com suporte serão usados durante o experimento, exceto algoritmos especificados em blocked_training_algorithms. 'auto_arima', 'prophet', 'naive','seasonal_naive', 'average', 'seasonal_average''exponential_smoothing''arimax''tcn_forecaster''elastic_net''gradient_boosting''decision_tree''knn''lasso_lars''sgd''random_forest''extreme_random_trees''light_gbm''xg_boost_regressor' None
    blocked_training_algorithms list(string) Uma lista de algoritmos de Previsão de Série Temporal para não serem executados como modelo de base durante o treinamento de modelo em um experimento. Se for omitido ou definido como Nenhum, todos os algoritmos com suporte serão usados durante o treinamento do modelo. 'auto_arima', 'prophet', 'naive', 'seasonal_naive', 'average''tcn_forecaster''extreme_random_trees''sgd''light_gbm''random_forest''lasso_lars''knn''gradient_boosting''arimax''decision_tree''seasonal_average''exponential_smoothing''elastic_net','xg_boost_regressor' None
    enable_dnn_training booleano Um sinalizador para ativar ou desativar a inclusão de modelos baseados em DNN para experimentar durante a seleção do modelo. True, False False
    enable_model_explainability booleano 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 booleano Um sinalizador para habilitar ou desabilitar a codificação de alguns modelos de base usando o algoritmo Voting. Para obter mais informações sobre conjuntos, confira Configurar o treinamento automático. true, false true
    enable_stack_ensemble booleano Um sinalizador para habilitar ou desabilitar a codificação de alguns modelos de base usando o algoritmo Stacking. Em tarefas de previsão, esse sinalizador é desativado por padrão, para evitar riscos de sobreajuste devido a um pequeno conjunto de treinamento usado para ajustar o meta-aluno. Para obter mais informações sobre conjuntos, confira Configurar o treinamento automático. true, false false

    definição de recursos

    Chave Type Descrição Valores permitidos Valor padrão
    mode string O modo de definição de recursos a ser usado pelo trabalho do ML automatizado.
    Configurando-o como:
    'auto' indica que a etapa de definição de recursos não deve ser feita automaticamente
    'off' indica nenhuma definição de recursos<'custom' indica se a definição de recursos personalizada deve ser usada.

    Observação: se os dados de entrada forem esparsos, a definição de recursos não poderá ser ativada.
    'auto', 'off', 'custom' None
    blocked_transformers list(string) Uma lista de nomes de transformador a serem bloqueados durante a etapa de definição de recursos pelo ML automatizado, se a definição de recursos mode for definida como "personalizada". 'text_target_encoder', 'one_hot_encoder', 'cat_target_encoder', 'tf_idf', 'wo_e_target_encoder''count_vectorizer''label_encoder''word_embedding''naive_bayes','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 recursos usados para atualizar a finalidade da coluna como valor associado, se a definição de recursos mode for definida 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 em colunas de conjunto de dados para definição de recursos, se a definição de recursos mode for definida como "personalizada".
    A previsão dá suporte apenas ao transformador imputer para personalização.
    Confira column_transformers para descobrir como criar parâmetros de personalização.
    None

    column_transformers

    Chave Type Descrição Valores permitidos Valor padrão
    fields list(string) Uma lista de nomes de colunas nos quais os transformer_params fornecidos devem ser aplicados.
    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 são mostrados em exemplos aqui.

    Saídas de trabalho

    Chave Type Descrição Valores permitidos Valor padrão
    type string O tipo de saída de trabalho. Para o tipo padrão uri_folder, a saída corresponderá a uma pasta. uri_folder , mlflow_model, custom_model uri_folder
    mode string O modo como os arquivos de saída são entregues ao armazenamento de destino. No modo de montagem de leitura/gravação (rw_mount), o diretório de saída será um diretório montado. No modo de upload, os arquivos gravados serão carregados no final do trabalho. rw_mount, upload rw_mount

    Como executar o trabalho de previsão por meio da 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]