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 autoque 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' : séries curtas são acolchoadas se não houver séries longas, caso contrário, séries curtas são descartadas.
  • 'pad': todas as séries curtas são acolchoadas com zeros.
  • 'drop': todas as séries curtas são abandonadas.
  • 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é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, abfsse 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]