ForecastingJob Clase
Configuración de la tarea de previsión de AutoML.
Inicialice una nueva tarea de previsión de AutoML.
- Herencia
-
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabularForecastingJob
Constructor
ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)
Parámetros
Métrica principal que se va a usar para la selección del modelo.
- forecasting_settings
- Optional[ForecastingSettings]
Configuración de la tarea de previsión.
Métodos
dump |
Volca el contenido del trabajo en un archivo en formato YAML. |
set_data |
Defina la configuración de datos. |
set_featurization |
Defina la configuración de ingeniería de características. |
set_forecast_settings |
Administrar los parámetros usados por las tareas de previsión. |
set_limits |
Establezca límites para el trabajo. |
set_training |
Método para configurar las opciones relacionadas con el entrenamiento de previsión. |
dump
Volca el contenido del trabajo en un archivo en formato YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parámetros
Ruta de acceso local o secuencia de archivos en la que se va a escribir el contenido de YAML. Si dest es una ruta de acceso de archivo, se creará un nuevo archivo. Si dest es un archivo abierto, el archivo se escribirá directamente.
- kwargs
- dict
Argumentos adicionales para pasar al serializador YAML.
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
set_data
Defina la configuración de datos.
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
Datos de entrenamiento.
- target_column_name
- str
Nombre de columna de la columna de destino.
El nombre de la columna de peso, tiene como valor predeterminado Ninguno.
Tamaño de los datos de validación, el valor predeterminado es None
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
set_featurization
Defina la configuración de ingeniería de características.
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]]]
Lista de nombres de transformador que se van a bloquear durante la caracterización, el valor predeterminado es Ninguno.
Diccionario de nombres de columna y tipos de características usados para actualizar el propósito de columna, el valor predeterminado es None.
Código ISO 639-3 de tres caracteres para los idiomas contenidos en el conjunto de datos. Los idiomas distintos del inglés solo se admiten si usa el proceso habilitado para GPU. Se debe usar el language_code "mul" si el conjunto de datos contiene varios idiomas. Para buscar códigos ISO 639-3 para distintos idiomas, consulte https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes, el valor predeterminado es Ninguno.
- transformer_params
- Optional[Dict[str, List[ColumnTransformer]]]
Diccionario de transformadores y parámetros de personalización correspondientes, el valor predeterminado es None.
"off", "auto", el valor predeterminado es "auto", el valor predeterminado es None
Si se deben incluir métodos de ingeniería de características basados en DNN, el valor predeterminado es None
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
set_forecast_settings
Administrar los parámetros usados por las tareas de previsión.
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
Nombre de la columna de hora. Este parámetro es obligatorio en la previsión para especificar la columna de fecha y hora en los datos de entrada que se usa para crear la serie temporal e inferir su frecuencia.
- forecast_horizon
Horizonte de previsión máximo deseado en unidades de frecuencia de la serie temporal. El valor predeterminado es 1.
Las unidades se basan en el intervalo de tiempo de los datos de entrenamiento, p. ej., semanales, mensuales, que debe predecir el pronosticador. Cuando el tipo de tarea es previsión, se requiere este parámetro. Para más información sobre cómo establecer los parámetros de previsión, consulte Configuración de AutoML para entrenar un modelo de previsión de series temporales con Python.
Nombres de columnas usadas para agrupar una serie temporal. Se puede usar para crear varias series. Si no se definen los nombres de columna de identificador de serie temporal o las columnas de identificador especificadas no identifican todas las series del conjunto de datos, los identificadores de serie temporal se crearán automáticamente para el conjunto de datos.
- target_lags
Número de períodos pasados para retrasar desde la columna de destino. De forma predeterminada, los retrasos están desactivados.
Al pronosticar, este parámetro representa el número de filas para retrasar de los valores de destino en función de la frecuencia de los datos. Se representa como una lista o un entero único. El retardo se debe usar cuando la relación entre las variables independientes y la variable dependiente no coincide o está en correlación de forma predeterminada. Por ejemplo, al intentar pronosticar la demanda de un producto, la demanda de cualquier mes puede depender del precio de determinados artículos 3 meses antes. En este ejemplo, es posible que desee retrasar el destino (demanda) negativamente en 3 meses para que el modelo esté entrenando en la relación correcta. Para más información, consulte Configuración de AutoML para entrenar un modelo de previsión de series temporales con Python.
Tenga en cuenta la detección automática de los límites de destino y el tamaño de la ventana gradual. Consulte los comentarios correspondientes en la sección de ventana gradual. Usamos el siguiente algoritmo para detectar el retraso de destino óptimo y el tamaño de ventana gradual.
Calcule el orden de retraso máximo para la selección de características de retrospectiva. En nuestro caso, es el número de períodos hasta la granularidad de frecuencia de fecha siguiente, es decir, si la frecuencia es diaria, será una semana (7), si es una semana, será mes (4). Los valores multiplicados por dos son los valores más grandes posibles de las ventanas graduales o de retraso. En nuestros ejemplos, consideraremos el orden de retraso máximo de 14 y 8, respectivamente).
Cree una serie desestacionalizada agregando componentes residuales y de tendencia. Se usará en el paso siguiente.
Calcule la función de correlación automática parcial PACF en los datos de (2) y busque puntos, donde la correlación automática es significativa, es decir, su valor absoluto es más de 1,96/raíz_cuadrada(valor de retraso máximo), que corresponden a una importancia del 95 %.
Si todos los puntos son significativos, consideramos que es una fuerte estacionalidad y no creamos características de retrospectiva.
Analizamos los valores de PACF desde el principio y el valor antes de que la primera correlación automática insignificante designe el retraso. Si el primer elemento significativo (el valor se correlaciona consigo mismo) va seguido de insignificante, el retraso será 0 y no usaremos las características de retrospectiva.
Marca para generar intervalos para las características numéricas con "auto" o None.
Número de períodos pasados usados para crear un promedio de ventana gradual de la columna de destino.
Al pronosticar, este parámetro representa n períodos históricos que se usarán para generar valores previstos, <= tamaño del conjunto de entrenamiento. Si se omite, n es el tamaño total del conjunto de entrenamiento. Especifique este parámetro si solo desea tener en cuenta una determinada cantidad de historial al entrenar el modelo. Si se establece en "auto", la ventana gradual se calculará como el último valor donde el PACF es más que el umbral de importancia. Consulte target_lags section para obtener más información.
País o región que se usa para generar características de vacaciones. Deben ser los códigos ISO 3166 de país o región de dos letras, por ejemplo, "US" o "GB".
- use_stl
Configura la descomposición de STL de la columna de destino de la serie temporal. use_stl puede tomar tres valores: None (valor predeterminado), sin descomposición de STL, "season", solo para generar componente de temporadas y "season_trend", para generar componentes de temporada y tendencias.
Establezca la estacionalidad de la serie temporal como un múltiplo entero de la frecuencia de la serie. Si la estacionalidad se establece en "auto", se infiere. Si se establece en Ninguno, se supone que la serie temporal no es estacional, lo que equivale a estacionalidad=1.
- short_series_handling_config
Parámetro que define si AutoML debe controlar series temporales cortas.
Valores posibles: "auto" (valor predeterminado), "pad", "drop" y "None".
- la serie auto abreviada se rellenará si no hay ninguna serie larga,
de lo contrario, se quitará la serie corta.
- pad: se rellenarán todas las series cortas.
- drop: se quitarán todas las series cortas.
- None: no se modificarán las series cortas.
Si se establece en "pad", la tabla se agregará con los ceros y los valores vacíos para los regresores y los valores aleatorios del destino con la media igual a la mediana del valor de destino para el identificador de serie temporal determinado. Si la mediana es mayor o igual que cero, el valor agregado mínimo se recortará en cero: Entrada:
Date
numeric_value
string
Destino
01-01-2020
23
green
55
Salida que da por sentado que el número mínimo de valores es cuatro:
Date
numeric_value
string
Destino
2019-12-29
0
N/D
55.1
2019-12-30
0
N/D
55.6
2019-12-31
0
N/D
54.5
01-01-2020
23
green
55
Nota: Tenemos dos parámetros short_series_handling_configuration y short_series_handling heredado. Cuando se establecen ambos parámetros, se sincronizan como se muestra en la tabla siguiente (short_series_handling_configuration y short_series_handling por motivos de brevedad se marcan como handling_configuration y handling respectivamente).
Manejo
handlingconfiguration
control resultante
resultantehandlingconfiguration
True
auto
True
auto
True
Almohadilla
True
auto
True
drop
True
auto
True
Ninguno
False
None
False
auto
False
None
False
Almohadilla
False
None
False
drop
False
None
False
None
False
None
- frequency
Frecuencia de pronóstico.
Al pronosticar, este parámetro representa el período con el que se desea la previsión, por ejemplo, diaria, semanal, anual, etc. La frecuencia de previsión es la frecuencia del conjunto de datos de manera predeterminada. Opcionalmente, puede establecerla en un valor mayor (pero no menor) que la frecuencia del conjunto de datos. Agregaremos los datos y generaremos los resultados con la frecuencia de previsión. Por ejemplo, para los datos diarios, puede establecer la frecuencia para que sea diaria, semanal o mensual, pero no cada hora. La frecuencia debe ser un alias de desplazamiento de Pandas. Vea la documentación de Pandas para obtener más información: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects.
- target_aggregate_function
Función que se usará para agregar la columna de destino de serie temporal según la frecuencia especificada por el usuario. Si target_aggregation_function está establecido, pero el parámetro freq no lo está, se produce el error. Las posibles funciones de agregación de destino son: "sum", "max", "min" y "mean".
Los valores de la columna de destino se agregan en función de la operación especificada. Normalmente, es adecuado para la mayoría de los escenarios.
Las columnas de predicción numéricas de los datos se agregan en función de la suma, la media, el valor mínimo y el valor máximo. Como resultado, los ML automatizados generan nuevas columnas con el sufijo del nombre de la función de agregación y aplican la operación de agregado seleccionada.
En el caso de las columnas de predicción de categorías, los datos se agregan en función del modo, que es la categoría más destacada en la ventana.
Las columnas de predicción de fecha se agregan en función del valor mínimo, el valor máximo y el modo.
Freq
target_aggregation_function
Mecanismo de regularidad de datos
Ninguno (predeterminado)
Ninguno (predeterminado)
La agregación no se aplica. Si la frecuencia válida no puede ser bedeterminedel error se generará.
Algún valor
Ninguno (predeterminado)
La agregación no se aplica. Si el valor de numberof data pointscompliant togiven frequencygrid isless, se producirá el 90 % de estos puntos, de lo contrario, se generará el error.
Ninguno (predeterminado)
Función de agregación
Error aboutmissingfrequencyparameter israised.
Algún valor
Función de agregación
Agregue tofrequency medianteprovidedaggregationfunction.
Número de períodos entre origin_time de un plegado CV y el siguiente plegado. Por ejemplo, si n_step = 3 para los datos diarios, la hora de origen de cada plegado será de tres días de diferencia.
Columnas de características que están disponibles para el entrenamiento pero desconocidas en el momento de la previsión o la inferencia. Si features_unknown_at_forecast_time se establece en una lista vacía, se supone que todas las columnas de características del conjunto de datos se conocen en tiempo de inferencia. Si este parámetro no está establecido, la compatibilidad con las características futuras no está habilitada.
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
set_limits
Establezca límites para el trabajo.
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
Si se va a habilitar la terminación anticipada si la puntuación no mejora a corto plazo, el valor predeterminado es None.
Lógica de detención temprana:
No hay detención anticipada para las primeras 20 iteraciones (puntos de referencia).
La ventana de detención temprana se inicia en la iteración número 21 y busca early_stopping_n_iters iteraciones
(establecido actualmente en 10). Esto significa que la primera iteración donde puede producirse la detención es la 31.
AutoML sigue programando 2 iteraciones de conjunto DESPUÉS de la detención temprana, lo que podría dar lugar a puntuaciones más altas.
La detención temprana se desencadena si el valor absoluto de la mejor puntuación calculada es el mismo para las anteriores iteraciones
early_stopping_n_iters; es decir, si no hay ninguna mejora en la puntuación de iteraciones early_stopping_n_iters.
Puntuación de destino para el experimento. El experimento finaliza una vez que se alcanza esta puntuación. Si no se especifica (sin criterios), el experimento se ejecuta hasta que no se realiza ningún progreso adicional en la métrica principal. Para obtener más información sobre los criterios de salida, vea este artículo , el valor predeterminado es None.
Este es el número máximo de iteraciones que se ejecutarían en paralelo. El valor predeterminado es 1.
- Los clústeres de AmlCompute admiten una iteración que se ejecuta por nodo.
Para varias ejecuciones primarias de experimentos de AutoML ejecutadas en paralelo en un único clúster de AmlCompute, la suma de los valores max_concurrent_trials
de todos los experimentos debe ser menor o igual que el número máximo de nodos. De lo contrario, las ejecuciones se pondrán en cola hasta que los nodos estén disponibles.
- DSVM admite varias iteraciones por nodo.
max_concurrent_trials
Debe
ser menor o igual que el número de núcleos de la DSVM. En el caso de varios experimentos que se ejecutan en paralelo en una sola DSVM, la suma de los valores max_concurrent_trials
de todos los experimentos debe ser menor o igual que el número máximo de nodos.
- Databricks:
max_concurrent_trials
debe ser menor o igual que el número de
nodos de trabajo en Databricks.
max_concurrent_trials
no se aplica a las ejecuciones locales. Anteriormente, este parámetro se denominaba concurrent_iterations
.
Número máximo de subprocesos que se usarán para una iteración de entrenamiento determinada. Valores aceptables:
Mayor que 1 y menor o igual que el número máximo de núcleos en el destino de proceso.
Igual a -1, lo que significa usar todos los núcleos posibles por iteración por ejecución secundaria.
Igual a 1, el valor predeterminado.
[Experimental] Número máximo de nodos que se van a usar para el entrenamiento distribuido.
Para la previsión, cada modelo se entrena mediante nodos max(2, int(max_nodes/max_concurrent_trials)).
Para la clasificación o regresión, cada modelo se entrena mediante nodos de max_nodes.
Nota: este parámetro está en versión preliminar pública y podría cambiar en el futuro.
Número total de combinaciones de algoritmos y parámetros diferentes que se probarán durante un experimento de aprendizaje automático automatizado. Si no se especifica, el valor predeterminado es 1000.
Tiempo máximo en minutos que pueden llevar a cabo todas las iteraciones combinadas antes de que finalice el experimento. Si no se especifica, el tiempo de espera predeterminado del experimento es de 6 días. Para especificar un tiempo de espera menor o igual que 1 hora, asegúrese de que el tamaño del conjunto de datos no sea superior a 10 000 000 (columna de horas de filas) o que se produzca un error, el valor predeterminado es Ninguno.
Tiempo máximo en minutos durante el que se puede ejecutar cada iteración antes de que finalice. Si no se especifica, se usa un valor de 1 mes o 43200 minutos, el valor predeterminado es Ninguno.
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
set_training
Método para configurar las opciones relacionadas con el entrenamiento de previsión.
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
Si desea habilitar o deshabilitar la aplicación de los modelos compatibles con ONNX. El valor predeterminado es False. Para obtener más información sobre Open Neural Network Exchange (ONNX) y Azure Machine Learning, consulte este artículo.
Si se deben incluir modelos basados en DNN durante la selección del modelo. Sin embargo, el valor predeterminado es True para las tareas NLP de DNN y es False para todas las demás tareas de AutoML.
- enable_model_explainability
Si se habilita la explicación del mejor modelo de AutoML al final de todas las iteraciones de entrenamiento de AutoML. Para más información, consulte Interpretación: capacidad de explicación de modelos de aprendizaje automático automatizado (versión preliminar). , el valor predeterminado es None
- enable_stack_ensemble
Si se habilita o deshabilita la iteración de StackEnsemble. Si la marca enable_onnx_compatible_models no se establece, se deshabilitará la iteración de StackEnsemble. Del mismo modo, para las tareas de Timeseries, la iteración de StackEnsemble se deshabilitará de forma predeterminada, para evitar riesgos de sobreajuste debido a un pequeño conjunto de entrenamiento que se usa para ajustar el metaaprendizaje. Para obtener más información sobre los conjuntos, vea Configuración de conjuntos, valores predeterminados en Ninguno.
- enable_vote_ensemble
Si se habilita o deshabilita la iteración votingEnsemble. Para obtener más información sobre los conjuntos, vea Configuración de conjuntos, valores predeterminados en Ninguno.
- stack_ensemble_settings
- Optional[StackEnsembleSettings]
Configuración de la iteración StackEnsemble, el valor predeterminado es None
Durante la generación de modelos VotingEnsemble y StackEnsemble, se descargan varios modelos ajustados de las ejecuciones secundarias anteriores. Configure este parámetro con un valor superior a 300 segundos, si se necesita más tiempo, el valor predeterminado es None.
Lista de nombres de modelo para buscar un experimento. Si no se especifica, todos los modelos admitidos para la tarea se usan menos los especificados en los modelos tensorFlow o blocked_training_algorithms
en desuso, el valor predeterminado es None.
Lista de algoritmos que se omitirán para un experimento, el valor predeterminado es Ninguno.
- training_mode
[Experimental] Modo de entrenamiento que se va a usar. Los valores posibles son:
distributed: habilita el entrenamiento distribuido para los algoritmos admitidos.
non_distributed: deshabilita el entrenamiento distribuido.
auto- Actualmente, es igual que non_distributed. En el futuro, esto podría cambiar.
Nota: Este parámetro está en versión preliminar pública y puede cambiar en el futuro.
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
Atributos
base_path
Ruta de acceso base del recurso.
Devoluciones
Ruta de acceso base del recurso.
Tipo de valor devuelto
creation_context
Contexto de creación del recurso.
Devoluciones
Metadatos de creación del recurso.
Tipo de valor devuelto
featurization
Obtenga la configuración de caracterización tabular para el trabajo de AutoML.
Devoluciones
Configuración de caracterización tabular para el trabajo de AutoML
Tipo de valor devuelto
forecasting_settings
Devuelve la configuración de previsión.
Devoluciones
configuración de previsión.
Tipo de valor devuelto
id
El identificador del recurso.
Devoluciones
Identificador global del recurso, un identificador de Azure Resource Manager (ARM).
Tipo de valor devuelto
inputs
limits
Obtenga los límites tabulares del trabajo de AutoML.
Devoluciones
Límites tabulares para el trabajo de AutoML
Tipo de valor devuelto
log_files
Archivos de salida del trabajo.
Devoluciones
Diccionario de nombres de registro y direcciones URL.
Tipo de valor devuelto
log_verbosity
Obtenga el nivel de detalle del registro para el trabajo de AutoML.
Devoluciones
detalle del registro para el trabajo de AutoML
Tipo de valor devuelto
outputs
primary_metric
Devuelve la métrica principal que se va a usar para la selección del modelo.
Devoluciones
Métrica principal para la selección del modelo.
Tipo de valor devuelto
status
El estado del trabajo.
Los valores comunes devueltos incluyen "Running", "Completed" y "Failed". Todos los valores posibles son:
NotStarted: se trata de un estado temporal en el que se encuentran los objetos Run del lado cliente antes del envío en la nube.
Starting: la ejecución ha empezado a procesarse en la nube. El autor de la llamada tiene un identificador de ejecución en este momento.
Aprovisionamiento: se crea un proceso a petición para un envío de trabajo determinado.
Preparación: el entorno de ejecución se está preparando y se encuentra en una de estas dos fases:
Compilación de imágenes de Docker
configuración del entorno Conda
En cola: el trabajo se pone en cola en el destino de proceso. Por ejemplo, en BatchAI, el trabajo está en un estado en cola.
mientras espera a que todos los nodos solicitados estén listos.
En ejecución: el trabajo se ha iniciado para ejecutarse en el destino de proceso.
Finalización: la ejecución del código de usuario se ha completado y la ejecución está en fases posteriores al procesamiento.
CancelRequested: se ha solicitado la cancelación del trabajo.
Completado: la ejecución se ha completado correctamente. Esto incluye tanto la ejecución del código de usuario como la ejecución
posteriores al procesamiento de la ejecución.
Failed: error en la ejecución. Normalmente, la propiedad Error de una ejecución proporcionará detalles sobre por qué se produjo el error.
Canceled: sigue a una solicitud de cancelación e indica que la ejecución se ha cancelado correctamente.
NotResponding: en el caso de las ejecuciones que tienen los latidos habilitados, no se ha enviado recientemente ningún latido.
Devoluciones
Estado del trabajo.
Tipo de valor devuelto
studio_url
Punto de conexión de Azure ML Studio.
Devoluciones
Dirección URL de la página de detalles del trabajo.
Tipo de valor devuelto
task_type
Obtiene el tipo de tarea.
Devoluciones
Tipo de tarea que se va a ejecutar. Entre los valores posibles se incluyen: "classification", "regression", "forecasting".
Tipo de valor devuelto
test_data
training
Devuelve la configuración de entrenamiento de previsión.
Devoluciones
configuración de entrenamiento.
Tipo de valor devuelto
training_data
Obtención de datos de entrenamiento.
Devoluciones
Entrada de datos de entrenamiento
Tipo de valor devuelto
type
validation_data
Obtiene los datos de validación.
Devoluciones
Entrada de datos de validación
Tipo de valor devuelto
Azure SDK for Python