ForecastingJob Classe
Configuração da Tarefa de Previsão de AutoML.
Inicialize uma nova tarefa de Previsão de AutoML.
- Herança
-
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabularForecastingJob
Construtor
ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)
Parâmetros
- forecasting_settings
- Optional[ForecastingSettings]
As configurações da tarefa de previsão.
Métodos
dump |
Despeja o conteúdo do trabalho em um arquivo no formato YAML. |
set_data |
Definir a configuração de dados. |
set_featurization |
Defina a configuração de engenharia de recursos. |
set_forecast_settings |
Gerencia parâmetros usados por tarefas de previsão. |
set_limits |
Defina limites para o trabalho. |
set_training |
O método para definir as configurações relacionadas ao treinamento de previsão. |
dump
Despeja o conteúdo do trabalho em um arquivo no formato YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parâmetros
O caminho local ou o fluxo de arquivos no qual gravar o conteúdo YAML. Se dest for um caminho de arquivo, um novo arquivo será criado. Se dest for um arquivo aberto, o arquivo será gravado diretamente.
- kwargs
- dict
Argumentos adicionais a serem passados para o serializador YAML.
Exceções
Gerado se dest for um caminho de arquivo e o arquivo já existir.
Gerado se dest for um arquivo aberto e o arquivo não for gravável.
set_data
Definir a configuração de dados.
set_data(*, training_data: Input, target_column_name: str, weight_column_name: str | None = None, validation_data: Input | None = None, validation_data_size: float | None = None, n_cross_validations: str | int | None = None, cv_split_column_names: List[str] | None = None, test_data: Input | None = None, test_data_size: float | None = None) -> None
Parâmetros
- training_data
- Input
Dados de treinamento.
- target_column_name
- str
Nome da coluna de destino.
Exceções
Gerado se dest for um caminho de arquivo e o arquivo já existir.
Gerado se dest for um arquivo aberto e o arquivo não for gravável.
set_featurization
Defina a configuração de engenharia de recursos.
set_featurization(*, blocked_transformers: List[BlockedTransformers | str] | None = None, column_name_and_types: Dict[str, str] | None = None, dataset_language: str | None = None, transformer_params: Dict[str, List[ColumnTransformer]] | None = None, mode: str | None = None, enable_dnn_featurization: bool | None = None) -> None
Parâmetros
- blocked_transformers
- Optional[List[Union[BlockedTransformers, str]]]
Uma lista de nomes de transformador a serem bloqueados durante a definição de recursos, o padrão é Nenhum
Um dicionário de nomes de coluna e tipos de recursos usados para atualizar a finalidade da coluna , usa como padrão Nenhum
Código ISO 639-3 de três caracteres para os idiomas contidos no conjunto de dados. Há suporte para idiomas diferentes do inglês se você usar a computação habilitada para GPU. O language_code 'mul' deverá ser usado se o conjunto de dados contiver vários idiomas. Para localizar códigos ISO 639-3 para idiomas diferentes, consulte https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes, padrão como Nenhum
- transformer_params
- Optional[Dict[str, List[ColumnTransformer]]]
Um dicionário de transformador e parâmetros de personalização correspondentes , o padrão é Nenhum
Se os métodos de engenharia de recursos baseados em DNN devem ser incluídos, o padrão é Nenhum
Exceções
Gerado se dest for um caminho de arquivo e o arquivo já existir.
Gerado se dest for um arquivo aberto e o arquivo não for gravável.
set_forecast_settings
Gerencia parâmetros usados por tarefas de previsão.
set_forecast_settings(*, time_column_name: str | None = None, forecast_horizon: str | int | None = None, time_series_id_column_names: str | List[str] | None = None, target_lags: str | int | List[int] | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, country_or_region_for_holidays: str | None = None, use_stl: str | None = None, seasonality: str | int | None = None, short_series_handling_config: str | None = None, frequency: str | None = None, target_aggregate_function: str | None = None, cv_step_size: int | None = None, features_unknown_at_forecast_time: str | List[str] | None = None) -> None
Parâmetros
O nome da coluna de hora. Esse parâmetro é necessário na previsão para especificar a coluna datetime nos dados de entrada usados para criar a série temporal e inferir a frequência dela.
- forecast_horizon
O horizonte de previsão máximo desejado em unidades de frequência de série temporal. O valor padrão é 1.
As unidades são baseadas no intervalo de tempo de seus dados de treinamento (por exemplo, mensal, semanal) que a previsão deve estimar. Quando o tipo de tarefa é previsão, esse parâmetro é necessário. Para obter mais informações sobre como definir parâmetros de previsão, consulte Treinar automaticamente um modelo de previsão de série temporal.
Os nomes das colunas usadas para agrupar uma série temporal. Ele pode ser usado para criar várias séries. Se os nomes de coluna de ID de série temporal não estiverem definidos ou as colunas de identificador especificadas não identificarem todas as séries no conjunto de dados, os identificadores de série temporal serão criados automaticamente para o conjunto de dados.
- target_lags
O número de períodos anteriores com atraso na coluna de destino. Por padrão, os atrasos são desativados.
Durante a previsão, esse parâmetro representa o número de linhas para atrasar os valores de destino de acordo com a frequência dos dados. Isso é representado como uma lista ou apenas um inteiro. O atraso deve ser usado quando a relação entre as variáveis independentes e a variável dependente não corresponde ou se correlaciona por padrão. Por exemplo, a previsão da demanda de um produto em um dado mês pode depender do preço de mercadorias específicas 3 meses antes disso. Neste exemplo, você pode querer retardar o destino (demanda) negativamente por 3 meses para que o modelo seja treinado na relação correta. Para obter mais informações, consulte Treinar automaticamente um modelo de previsão de série temporal.
Observação na detecção automática de tamanho de janela sem interrupção e de atrasos de destino. Consulte os comentários correspondentes na seção de janela sem interrupção. Usamos o próximo algoritmo para detectar o atraso de destino ideal e o tamanho da janela sem interrupção.
Estimar a ordem de atraso máximo para a seleção de recursos de retrospectiva. Em nosso caso, é o número de períodos até a próxima granularidade de frequência de data, ou seja, se a frequência for diária, será uma semana (7), se for uma semana, será mês (4). Esses valores multiplicados por dois são os maiores valores possíveis de atrasos/janelas sem interrupção. Em nossos exemplos, vamos considerar a ordem de atraso máximo de 14 e 8, respectivamente).
Crie uma série sem sazonalidade adicionando tendência e componentes residuais. Ela será usada na próxima etapa.
Estime a PACF (função de correlação automática parcial) nos dados de (2) e procure por pontos em que a correlação automática é significativa, ou seja, o valor absoluto dela é maior que 1,96/square_root (valor de atraso máximo), que corresponde a significância de 95%.
Se todos os pontos forem significativos, consideraremos que ele tem sazonalidade forte e não criaremos recursos de retrospectiva.
Examinamos os valores de PACF do início e o valor antes da primeira correlação automática não significativa determinará o retardo. Se o primeiro elemento significativo (correlação do valor com ele mesmo) for seguido por um não significativo, o retardo será 0 e não usaremos recursos de retrospectiva.
Sinalizador para gerar atraso para os recursos numéricos com 'auto' ou Nenhum.
O número de períodos anteriores usados para criar uma média de janela sem interrupção 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. Se definido como 'auto', a janela sem interrupção será estimada como o último valor em que a PACF é maior que o limite de significância. Confira a seção target_lags para obter mais detalhes.
País/região usada para gerar recursos de feriados. Devem ser um código de país/região de duas letras ISO 3166, por exemplo, 'US' ou 'GB'.
- use_stl
Configure a Decomposição de STL da coluna de destino da série temporal. use_stl pode usar três valores: Nenhum (padrão) – sem decomposição de stl, 'season' – gerar apenas o componente de estação e season_trend – gerar componentes de temporada e tendência.
Defina a sazonalidade da série temporal como um inteiro múltiplo da frequência da série. Se a seasonality for definida como 'auto', ela será inferida. Se definido como Nenhum, a série temporal será considerada não sazonal, o que equivale a seasonality=1.
- short_series_handling_config
O parâmetro que define como o AutoML deve lidar com uma série temporal curta.
Valores possíveis: 'auto' (padrão), 'pad', 'drop' e None.
- séries curtas automáticas serão adicionadas se não houver séries longas,
caso contrário, as séries curtas serão descartadas.
- pad todas as séries curtas serão preenchidas.
- drop todas as séries curtas serão removidas.
- None as séries curtas não serão modificadas.
Se definida como 'pad', a tabela será preenchida com zeros e valores vazios para os regressores e valores aleatórios para o destino com a média igual à mediana do valor de destino para uma determinada ID de série temporal. Se a mediana for maior ou igual a zero, o valor de preenchimento mínimo será recortado por zero: Entrada:
Data
numeric_value
cadeia de caracteres
destino
01/01/2020
23
green
55
Saída supondo que o número mínimo de valores seja quatro:
Data
numeric_value
cadeia de caracteres
destino
2019-12-29
0
NA
55.1
2019-12-30
0
NA
55.6
2019-12-31
0
NA
54.5
01/01/2020
23
green
55
Observação: há dois parâmetros short_series_handling_configuration e short_series_handling herdado. Quando ambos os parâmetros são definidos, os sincronizamos conforme mostrado na tabela abaixo (short_series_handling_configuration e short_series_handling para brevidade são marcados como handling_configuration e handling, respectivamente).
Manipulação
handlingconfiguration
tratamento resultante
resultinghandlingconfiguration
True
auto
True
auto
True
Almofada
True
auto
True
drop
True
auto
True
Nenhum
Falso
Nenhum
Falso
auto
Falso
Nenhum
Falso
Almofada
Falso
Nenhum
Falso
drop
Falso
Nenhum
Falso
Nenhum
Falso
Nenhum
- frequency
Frequência de previsão.
Durante a previsão, esse parâmetro representa o período com o qual a previsão é desejada, por exemplo, diária, semanal, anual etc. A frequência da previsão é a frequência do conjuntos de dados por padrão. Como opção, você pode defini-lo como maior (mas não menor) que a frequência do conjunto de dados. Vamos agregar os dados e gerar os resultados na frequência de previsão. Por exemplo, para dados diários, você pode definir a frequência como diária, semanal ou mensal, mas não por hora. A frequência precisa ser um alias de deslocamento do pandas. Consulte a documentação do pandas para obter mais informações: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
- target_aggregate_function
A função a ser usada para agregar a coluna de destino da série temporal de acordo com a frequência especificada pelo usuário. Se target_aggregation_function estiver definido, mas o parâmetro freq não estiver definido, o erro será gerado. As possíveis funções de agregação de destino são: "sum", "max", "min" e "mean".
Os valores de coluna de destino são agregados com base na operação especificada. Normalmente, sum é apropriado para a maioria dos cenários.
As colunas de previsão numéricas em seus dados são agregadas por soma, média, valor mínimo e valor máximo. Como resultado, o ML automatizado gera novas colunas sufixos com o nome da função de agregação e aplica a operação de agregação selecionada.
Para colunas de previsão categóricas, os dados são agregados por modo, a categoria mais proeminente na janela.
As colunas do preditor de data são agregadas por valor mínimo, valor máximo e modo.
Freq
target_aggregation_function
Mecanismo de regularidade de dados
Nenhum (padrão)
Nenhum (padrão)
A agregação não é aplicada. Se a validfrequency não puder serdeterminada, o erro será gerado.
Algum Valor
Nenhum (padrão)
A agregação não é aplicada. Se numberof data pointscompliant togiven frequencygrid isless, então 90%these points will beremoved, caso contrário, o erro será gerado.
Nenhum (padrão)
Função de agregação
O erro aboutmissingfrequencyparameter foi gerado.
Algum Valor
Função de agregação
Agregar tofrequência usandoprovidedaggregationfunction.
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 n_step = 3 para dados diários, a hora de origem de cada dobra terá três dias de diferença da anterior.
As colunas de recursos que estão disponíveis para treinamento, mas desconhecidas no momento da previsão/inferência. Se features_unknown_at_forecast_time estiver definido como uma lista vazia, supõe-se que todas as colunas de recursos no conjunto de dados sejam conhecidas no momento da inferência. Se esse parâmetro não estiver definido, o suporte para recursos futuros não estará habilitado.
Exceções
Gerado se dest for um caminho de arquivo e o arquivo já existir.
Gerado se dest for um arquivo aberto e o arquivo não for gravável.
set_limits
Defina limites para o trabalho.
set_limits(*, enable_early_termination: bool | None = None, exit_score: float | None = None, max_concurrent_trials: int | None = None, max_cores_per_trial: int | None = None, max_nodes: int | None = None, max_trials: int | None = None, timeout_minutes: int | None = None, trial_timeout_minutes: int | None = None) -> None
Parâmetros
Se o encerramento antecipado deve ser habilitado se a pontuação não estiver melhorando no curto prazo, o padrão será Nenhum.
Lógica de parada antecipada:
Nenhuma parada antecipada para as primeiras 20 iterações (marcos).
A janela de parada antecipada começa na parte 21 da iteração e procura iterações early_stopping_n_iters
(definido atualmente como 10). Isso significa que a primeira iteração em que a interrupção pode ocorrer é na parte 31.
O AutoML ainda agenda duas iterações de conjunto após a parada antecipada, o que pode resultar em pontuações mais altas.
A interrupção antecipada será disparada se o valor absoluto da melhor pontuação calculada for o mesmo para as últimas
iterações early_stopping_n_iters, ou seja, se não houver nenhuma melhoria na pontuação das iterações early_stopping_n_iters.
Pontuação de destino para o experimento. O experimento termina depois que essa pontuação é atingida. Se não for especificado (nenhum critério), o experimento será executado até que nenhum outro progresso seja feito na métrica primária. Para obter mais informações sobre critérios de saída, consulte este artigo , padrão como Nenhum
Esse é o número máximo de iterações que seriam executadas em paralelo. O valor padrão é 1.
- Os clusters AmlCompute dão suporte a uma iteração em execução por nó.
Para várias execuções pai do experimento de AutoML em paralelo em um único cluster AmlCompute, a soma dos valores de max_concurrent_trials
para todos os experimentos deve ser menor ou igual ao número máximo de nós. Caso contrário, as execuções serão enfileiradas até que os nós estejam disponíveis.
- O DSVM dá suporte a várias iterações por nó.
max_concurrent_trials
Deve
ser menor ou igual ao número de núcleos na DSVM. Para várias execuções do experimento em paralelo em um único DSVM, a soma dos valores de max_concurrent_trials
para todos os experimentos deve ser menor ou igual ao número máximo de nós.
- Databricks –
max_concurrent_trials
deve ser menor ou igual ao número de
nós de trabalho no Databricks.
max_concurrent_trials
não se aplica a execuções locais. Anteriormente, esse parâmetro foi nomeado como concurrent_iterations
.
O número máximo de threads a serem usados para uma determinada iteração de treinamento. Valores aceitáveis:
Maior que 1 e menor ou igual ao número máximo de núcleos no destino de computação.
Igual a -1, o que significa usar todos os núcleos possíveis por iteração e por execução filho.
Igual a 1, o padrão.
[Experimental] O número máximo de nós a serem usados para treinamento distribuído.
Para previsão, cada modelo é treinado usando nós max(2, int(max_nodes/max_concurrent_trials)).
Para classificação/regressão, cada modelo é treinado usando nós max_nodes.
Observação- Esse parâmetro está em versão prévia pública e pode ser alterado no futuro.
O número total de combinações diferentes de algoritmo e parâmetro a serem testadas durante um experimento do ML automatizado. Se não for especificado, o padrão será 1000 iterações.
Quantidade máxima de tempo em minutos que todas as iterações combinadas podem levar antes que o experimento seja encerrado. Se não for especificado, o tempo limite do experimento padrão será de 6 dias. Para especificar um tempo limite menor ou igual a 1 hora, verifique se o tamanho do conjunto de dados não é maior que 10.000.000 (coluna de horas de linhas) ou um resultado de erro, o padrão é Nenhum
Tempo máximo em minutos em que cada iteração pode ser executada antes de ser terminada. Se não for especificado, um valor de 1 mês ou 43200 minutos será usado, o padrão é Nenhum
Exceções
Gerado se dest for um caminho de arquivo e o arquivo já existir.
Gerado se dest for um arquivo aberto e o arquivo não for gravável.
set_training
O método para definir as configurações relacionadas ao treinamento de previsão.
set_training(*, enable_onnx_compatible_models: bool | None = None, enable_dnn_training: bool | None = None, enable_model_explainability: bool | None = None, enable_stack_ensemble: bool | None = None, enable_vote_ensemble: bool | None = None, stack_ensemble_settings: StackEnsembleSettings | None = None, ensemble_model_download_timeout: int | None = None, allowed_training_algorithms: List[str] | None = None, blocked_training_algorithms: List[str] | None = None, training_mode: str | TrainingMode | None = None) -> None
Parâmetros
- enable_onnx_compatible_models
Se deve habilitar ou desabilitar a imposição de modelos compatíveis com ONNX. O padrão é False. Para obter mais informações sobre o ONNX (Open Neural Network Exchange) e o Azure Machine Learning, consulte este artigo.
Se deve incluir modelos baseados em DNN durante a seleção do modelo. No entanto, o padrão é True para tarefas do DNN NLP e False para todas as outras tarefas do AutoML.
- enable_model_explainability
Se deve habilitar a explicação do melhor modelo do AutoML no final de todas as iterações de treinamento do AutoML. Para obter mais informações, consulte Interpretabilidade: explicações de modelo no machine learning automatizado. , usa como padrão Nenhum
- enable_stack_ensemble
Se deve habilitar/desabilitar a iteração StackEnsemble. Se o sinalizador enable_onnx_compatible_models estiver sendo definido, a iteração StackEnsemble será desabilitada. Da mesma forma, para tarefas da série temporal, a iteração StackEnsemble será desabilitada por padrão, para evitar riscos de sobreajuste devido a um pequeno conjunto de treinamento usado para ajustar o aprendiz meta. Para obter mais informações sobre ensembles, consulte Configuração do Ensemble , padrão para Nenhum
- enable_vote_ensemble
Se deve habilitar/desabilitar a iteração VotingEnsemble. Para obter mais informações sobre ensembles, consulte Configuração do Ensemble , padrão para Nenhum
- stack_ensemble_settings
- Optional[StackEnsembleSettings]
Configurações para iteração StackEnsemble, o padrão é Nenhum
Durante a geração de modelo VotingEnsemble e StackEnsemble, vários modelos ajustados das execuções filho anteriores são baixados. Configure esse parâmetro com um valor superior a 300 segundos, se for necessário mais tempo, o padrão será Nenhum
Uma lista de nomes de modelos para pesquisar um experimento. Se não for especificado, todos os modelos com suporte para a tarefa serão usados menos os modelos do TensorFlow especificados blocked_training_algorithms
ou preteridos, o padrão é Nenhum
Uma lista de algoritmos a serem ignorados para um experimento, o padrão é Nenhum
- training_mode
[Experimental] O modo de treinamento a ser usado. Os valores possíveis são-
distributed- habilita o treinamento distribuído para algoritmos com suporte.
non_distributed- desabilita o treinamento distribuído.
auto- Atualmente, é o mesmo que non_distributed. No futuro, isso pode mudar.
Observação: esse parâmetro está em versão prévia pública e pode ser alterado no futuro.
Exceções
Gerado se dest for um caminho de arquivo e o arquivo já existir.
Gerado se dest for um arquivo aberto e o arquivo não for gravável.
Atributos
base_path
creation_context
O contexto de criação do recurso.
Retornos
Os metadados de criação para o recurso.
Tipo de retorno
featurization
Obtenha as configurações de definição de recursos tabulares para o trabalho do AutoML.
Retornos
Configurações de definição de recursos tabulares para o trabalho do AutoML
Tipo de retorno
forecasting_settings
Retornar as configurações de previsão.
Retornos
configurações de previsão.
Tipo de retorno
id
A ID do recurso.
Retornos
A ID global do recurso, uma ID do ARM (Resource Manager do Azure).
Tipo de retorno
inputs
limits
Obtenha os limites tabulares para o trabalho do AutoML.
Retornos
Limites tabulares para o trabalho do AutoML
Tipo de retorno
log_files
Arquivos de saída do trabalho.
Retornos
O dicionário de nomes de log e URLs.
Tipo de retorno
log_verbosity
Obtenha o detalhamento do log para o trabalho do AutoML.
Retornos
detalhamento de log para o trabalho do AutoML
Tipo de retorno
outputs
primary_metric
Retornar a métrica primária a ser usada para seleção de modelo.
Retornos
A métrica primária para seleção de modelo.
Tipo de retorno
status
O status do trabalho.
Os valores comuns retornados incluem "Running", "Completed" e "Failed". Todos os valores possíveis são:
NotStarted - Esse é um estado temporário em que os objetos Run do lado do cliente estão antes do envio à nuvem.
Starting – A Execução começou a ser processada na nuvem. O chamador tem uma ID de execução neste ponto.
Provisionamento – a computação sob demanda está sendo criada para um determinado envio de trabalho.
Preparando – o ambiente de execução está sendo preparado e está em um dos dois estágios:
Build de imagem do Docker
conda environment setup
Enfileirado – o trabalho está na fila no destino de computação. Por exemplo, no BatchAI, o trabalho está em um estado enfileirado
enquanto aguarda que todos os nós solicitados estejam prontos.
Em execução – o trabalho começou a ser executado no destino de computação.
Finalização – a execução do código do usuário foi concluída e a execução está em estágios de pós-processamento.
CancelRequested – O cancelamento foi solicitado para o trabalho.
Concluído – a execução foi concluída com êxito. Isso inclui a execução e a execução do código do usuário
estágios de pós-processamento.
Failed – A execução falhou. Normalmente, a propriedade de Erro em uma execução fornecerá detalhes sobre o motivo.
Canceled – Segue uma solicitação de cancelamento e indica que a execução foi cancelada com êxito.
NotResponding – Para execuções que têm Pulsações habilitadas, nenhuma pulsação foi enviada recentemente.
Retornos
Status do trabalho.
Tipo de retorno
studio_url
Ponto de extremidade do Estúdio do Azure ML.
Retornos
A URL para a página de detalhes do trabalho.
Tipo de retorno
task_type
Obter tipo de tarefa.
Retornos
O tipo de tarefa a ser executado. Os valores possíveis incluem: "classificação", "regressão", "previsão".
Tipo de retorno
test_data
training
Retornar as configurações de treinamento de previsão.
Retornos
configurações de treinamento.
Tipo de retorno
training_data
type
validation_data
Azure SDK for Python