Share via


Esquema YAML del trabajo del comando de previsión de ML automatizado de la CLI (v2)

SE APLICA A:Extensión de ML de la CLI de Azure v2 (actual)

El esquema JSON de origen se puede encontrar en https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json.

Nota

La sintaxis de YAML que se detalla en este documento se basa en el esquema JSON de la versión más reciente de la extensión ML de la CLI v2. Se garantiza que esta sintaxis solo funciona con la versión más reciente de la extensión ML de la CLI v2. Dispone de los esquemas de las versiones de anteriores de la extensión en https://azuremlschemasprod.azureedge.net/.

Sintaxis de YAML

Clave Tipo Descripción Valores permitidos Valor predeterminado
$schema string Ubicación o dirección URL en la que se va a cargar el esquema YAML.
Si el usuario utiliza la extensión VS Code de Azure Machine Learning para crear el archivo YAML, la inclusión de $schema en la parte superior del archivo permite invocar las finalizaciones del esquema y los recursos.
compute string Obligatorio.
Nombre de la infraestructura de proceso de AML en la que se va a ejecutar el trabajo.
El proceso puede ser una referencia a una máquina de proceso existente en el área de trabajo.
Nota: Los trabajos de la canalización no admiten "local" como compute. Aquí, "local" significa la instancia de proceso creada en el área de trabajo de Estudio de Azure Machine Learning del usuario.
1. Patrón [^azureml:<compute_name>] para usar el proceso existente
2.'local' para usar la ejecución local
'local'
limits object Representa un objeto de diccionario que consta de configuraciones de límite del trabajo tabular de ML automatizado.
La clave es el nombre del límite dentro del contexto del trabajo, y el valor es el valor de límite. Consulte Límites para averiguar las propiedades de este objeto.
name string Nombre del trabajo de ML automatizado enviado.
Debe ser único en todos los trabajos del área de trabajo. Si no se especifica, Azure Machine Learning genera automáticamente un GUID para el nombre.
description string Descripción del trabajo de ML automatizado.
display_name string Nombre del trabajo que el usuario quiere mostrar en la interfaz de usuario de Estudio. Puede no ser único dentro del área de trabajo. Si se omite, Azure Machine Learning genera automáticamente un identificador adjetivo-sustantivo legible para el nombre para mostrar.
experiment_name string Nombre del experimento.
Los experimentos son registros de los trabajos de entrenamiento de ML en Azure. Los experimentos contienen los resultados de las ejecuciones, junto con registros, gráficos y grafos. El registro de ejecución de cada trabajo está organizado según el experimento correspondiente en la pestaña "Experimentos" de Estudio.
Nombre del directorio de trabajo en el que se creó
environment_variables object Objeto de diccionario de las variables de entorno que se van a establecer en el proceso donde se ejecuta el comando.
outputs object Representa un diccionario de configuraciones de salida del trabajo. La clave es un nombre para la salida dentro del contexto del trabajo y el valor es la configuración de salida. Consulte Salida del trabajo para averiguar las propiedades de este objeto.
log_files object Objeto de diccionario que contiene registros de la ejecución de un trabajo de ML automatizado
log_verbosity string Nivel de detalle para escribir en el archivo de registro.
Los valores admitidos se definen en la biblioteca de registro de Python.
'not_set', 'debug', 'info', 'warning', 'error', 'critical' 'info'
type const Obligatorio.
Tipo de trabajo.
automl automl
task const Obligatorio.
Tipo de tarea de ML automatizado que se va a ejecutar.
forecasting forecasting
target_column_name string Obligatorio.
Representa el nombre de la columna para la que se va a realizar la previsión. El trabajo de ML automatizado genera un error si no se especifica.
featurization object Objeto de diccionario que define la configuración de la caracterización personalizada. En caso de que no se cree, la configuración de ML automatizado aplica la caracterización automática. Consulte Caracterización para ver las propiedades de este objeto.
forecasting object Objeto de diccionario que define la configuración del trabajo de previsión. Consulte Previsión para averiguar las propiedades de este objeto.
n_cross_validations Cadena o entero Número de validaciones cruzadas que se van a realizar durante la selección de modelo y canalización si no se especifica validation_data.
En caso de que tanto validation_data como este parámetro no se proporcionen o establezcan en None, el trabajo de ML automatizado lo establece en auto de manera predeterminada. En caso de que se habilite distributed_featurization y no se especifique validation_data, se establece en 2 de manera predeterminada.
'auto', [entero] None
primary_metric string Métrica que optimiza ML automatizado para la selección del modelo de previsión de series temporales.
Si allowed_training_algorithms tiene "tcn_forecaster" para su uso en el entrenamiento, ML automatizado solo admite "normalized_root_mean_squared_error" y "normalized_mean_absolute_error" para su uso como primary_metric.
"spearman_correlation", "normalized_root_mean_squared_error", "r2_score""normalized_mean_absolute_error" "normalized_root_mean_squared_error"
training object Objeto de diccionario que define la configuración que se usa en el entrenamiento del modelo.
Consulte Entrenamiento para averiguar las propiedades de este objeto.
training_data object Obligatorio
Objeto de diccionario que contiene la configuración de MLTable que define los datos de entrenamiento que se van a usar como entrada para el entrenamiento del modelo. Estos datos son un subconjunto de los datos y se deben componer tanto de características o columnas independientes como de características o columnas de destino. El usuario puede usar un elemento MLTable registrado en el área de trabajo con el formato ":" (por ejemplo, Input(mltable='my_mltable:1')) o bien puede usar un archivo o carpeta local como elemento MLTable (por ejemplo, Input(mltable=MLTable(local_path="./data")). Se debe proporcionar este objeto. Si la característica de destino no está presente en el archivo de origen, ML automatizado genera un error. Consulte Datos de entrenamiento o validación o prueba para averiguar las propiedades de este objeto.
validation_data object Objeto de diccionario que contiene la configuración de MLTable que define los datos de validación que se van a usar en el experimento de ML automatizado para la validación cruzada. Si se proporciona este objeto, se debe componer tanto de características o columnas independientes como de características o columnas de destino. Las muestras de los datos de entrenamiento y los datos de validación no se pueden superponer en un plegado.
Consulte Datos de entrenamiento o validación o prueba para averiguar las propiedades de este objeto. En caso de que no se defina este objeto, ML automatizado usa n_cross_validations para dividir los datos de validación de los datos de entrenamiento definidos en el objeto training_data.
test_data object Objeto de diccionario que contiene la configuración de MLTable que define los datos de prueba que se van a usar en la ejecución de pruebas para las predicciones en el uso del mejor modelo y evalúa el modelo mediante métricas definidas. Si se proporciona este objeto, se debe componer solo de características independientes utilizadas en los datos de entrenamiento (sin característica de destino).
Consulte Datos de entrenamiento o validación o prueba para averiguar las propiedades de este objeto. Si no se proporciona, ML automatizado utiliza otros métodos integrados para sugerir el mejor modelo para usarlo en la inferencia.

límites

Clave Tipo Descripción Valores permitidos Valor predeterminado
enable_early_termination boolean Representa si se va a habilitar la finalización del experimento si la puntuación de pérdida no mejora después de un número "x" de iteraciones.
En un trabajo de ML automatizado, no se aplica ninguna detención temprana en las primeras 20 iteraciones. La ventana de detención temprana solo se inicia después de las primeras 20 iteraciones.
true, false true
max_concurrent_trials integer Número máximo de evaluaciones (trabajos secundarios) que se ejecutarán en paralelo. Se recomienda establecer el número de ejecuciones simultáneas en el número de nodos del clúster (proceso de AML definido en compute). 1
max_trials integer Representa el número máximo de evaluaciones en las que un trabajo de ML automatizado puede intentar ejecutar un algoritmo de entrenamiento con una combinación diferente de hiperparámetros. Su valor predeterminado se establece en 1000. Si se define enable_early_termination, el número de evaluaciones utilizadas para ejecutar los algoritmos de entrenamiento puede ser menor. 1000
max_cores_per_trial integer Representa el número máximo de núcleos disponibles para su uso por cada evaluación. Su valor predeterminado está establecido en -1, lo que significa que se usan todos los núcleos en el proceso. -1
timeout_minutes integer Cantidad máxima de tiempo en minutos que puede tardar en ejecutarse el trabajo de ML automatizado que se ha enviado. Después de la cantidad de tiempo especificada, se finaliza el trabajo. Este tiempo de espera incluye la configuración, la caracterización, las ejecuciones de entrenamiento, el ensamblado y la explicación del modelo (si se proporciona) de todas las evaluaciones.
Tenga en cuenta que no incluye el ensamblado y la explicación de las ejecuciones del modelo al final del proceso si el trabajo no se completa dentro del valor timeout_minutes proporcionado, ya que estas características están disponibles una vez que se realizan todas las evaluaciones (trabajos secundarios).
Su valor predeterminado está establecido en 360 minutos (6 horas). Para especificar un tiempo de espera menor o igual que 1 hora (60 minutos), el usuario debe asegurarse de que el tamaño del conjunto de datos no sea mayor que 10 000 000 (filas por columna) o se producirá un error.
360
trial_timeout_minutes integer Cantidad máxima de tiempo en minutos que puede tardar en ejecutarse cada evaluación (trabajo secundario) en el trabajo de ML automatizado que se ha enviado. Después de la cantidad de tiempo especificada, el trabajo secundario se finalizará. 30
exit_score FLOAT Puntuación que debe alcanzar un experimento. El experimento finaliza una vez que se alcanza la puntuación especificada. Si no se especifica (sin criterios), el experimento se ejecuta hasta que no se realiza ningún progreso adicional en el elemento primary metric definido.

pronóstico

Clave Tipo Descripción Valores permitidos Valor predeterminado
time_column_name string Obligatorio
Nombre de la columna del conjunto de datos que corresponde al eje temporal de cada serie temporal. El conjunto de datos de entrada para entrenamiento, validación o prueba debe contener esta columna si la tarea es forecasting. Si no se proporciona o establece en None, el trabajo de previsión de ML automatizado produce un error y finaliza el experimento.
forecast_horizon Cadena o entero Horizonte de previsión máximo en unidades de frecuencia de la serie temporal. Estas unidades se basan en el intervalo de tiempo inferido de los datos de entrenamiento (por ejemplo, semanales, mensuales) que usa el pronosticador para predecir. Si se establece en Ninguno o auto, su valor predeterminado se establece en 1, lo que significa "t+1" desde la última marca de tiempo t en los datos de entrada. auto, [entero] 1
frequency string Frecuencia con la que se desea la generación de previsiones, por ejemplo diaria, semanal, anual, etc.
Si no se especifica o se establece en None, su valor predeterminado se infiere del índice de tiempo del conjunto de datos. El usuario puede establecer su valor mayor que la frecuencia inferida del conjunto de datos, pero no menor que ella. Por ejemplo, si la frecuencia del conjunto de datos es diaria, puede tomar valores como diario, semanal y mensual, pero no cada hora, ya que cada hora es menor que diario (24 horas).
Consulte la documentación de pandas para más información.
None
time_series_id_column_names cadena o lista(cadenas) Nombres de las columnas de los datos que se usarán para agrupar los datos en varias series temporales. Si time_series_id_column_names no está definido o se ha establecido en Ninguno, ML automatizado usa lógica de detección automática para detectar las columnas. None
feature_lags string Representa si el usuario quiere generar retardos automáticamente para las características numéricas proporcionadas. El valor predeterminado está establecido en auto, lo que significa que ML automatizado usa heurística basada en la correlación automática para seleccionar automáticamente los órdenes de retraso y generar las características de retraso correspondientes para todas las características numéricas. "Ninguno" significa que no se generan retrasos para ninguna característica numérica. 'auto', None None
country_or_region_for_holidays string País o región que se usa para generar características de vacaciones. Estos caracteres se deben representar en códigos ISO 3166 de país o región de dos letras, por ejemplo, "US" o "GB". La lista de los códigos ISO se encuentra en https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size Cadena o entero Número de períodos entre el valor de origin_time de un plegado CV y el siguiente plegado. Por ejemplo, si se establece en 3 para los datos diarios, la hora de origen de cada plegado será de tres días de diferencia. Si se establece en Ninguno o no se especifica, se establece en auto de manera predeterminada. Si es de tipo entero, el valor mínimo que puede tomar es 1; de lo contrario, se genera un error. auto, [entero] auto
seasonality Cadena o entero Estacionalidad de la serie temporal como un múltiplo entero de la frecuencia de la serie. Si no se especifica la estacionalidad, su valor se establece en 'auto', lo que significa que ML automatizado la infiere automáticamente. Si este parámetro no está establecido en None, ML automatizado supone que la serie temporal no es estacional, lo que equivale a establecerlo como el valor entero 1. 'auto', [entero] auto
short_series_handling_config string Si se especifica, representa cómo debe controlar ML automatizado las series temporales cortas. Toma los siguientes valores:
  • 'auto': se rellenan las series cortas si no hay ninguna serie larga; de lo contrario, se descartan las series cortas.
  • 'pad': todas las series cortas se rellenan con ceros.
  • 'drop': se descartan todas las series cortas.
  • None: no se modifican las series cortas.
    'auto', 'pad', 'drop', None auto
    target_aggregate_function string Representa la función de agregado que se va a usar para agregar la columna de destino de la serie temporal y generar las previsiones con la frecuencia especificada (definida en freq). Si se establece este parámetro, pero no se establece el parámetro freq, se genera un error. Se omite o se establece en None, no se aplica ninguna agregación. 'sum', 'max', 'min', 'mean' auto
    target_lags cadena, entero o lista(entero) Número de períodos anteriores o históricos que se usarán como retraso a partir de los valores de destino en función de la frecuencia del conjunto de datos. De manera predeterminada, este parámetro está desactivado. La configuración 'auto' permite al sistema usar un retraso basado en heurística automática.
    Esta propiedad de retraso se debe usar cuando la relación entre las variables independientes y la variable dependiente no están en correlación de manera predeterminada. Para más información, consulte Características de retardo para predecir series temporales en AutoML.
    'auto', [entero] None
    target_rolling_window_size Cadena o entero Número de observaciones pasadas que se usa 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. 'auto', entero, None None
    use_stl string Componentes que se van a generar aplicando la descomposición STL en la serie temporal. Si no se proporciona o se establece en Ninguno, no se genera ningún componente de serie temporal.
    use_stl puede tomar dos valores:
    'season': para generar el componente de temporada.
    'season_trend': para generar tanto el componente de temporada como el de tendencia de ML automatizado.
    'season', 'seasontrend' None

    Datos de entrenamiento o validación o prueba

    Clave Tipo Descripción Valores permitidos Valor predeterminado
    datastore string Nombre del almacén de datos donde el usuario carga los datos.
    path cadena La ruta de acceso desde la que se deben cargar los datos. La ruta de acceso puede ser una ruta de acceso file, una ruta de acceso folder o un pattern para rutas de acceso.
    pattern especifica un patrón de búsqueda para permitir comodines (* y **) de archivos y carpetas que contienen datos. Los tipos de URI admitidos son azureml, https, wasbs, abfss y adl. Para más información, consulte Sintaxis básica de YAML de la CLI (v2) para conocer cómo utilizar el formato de identificador URI azureml://. URI de la ubicación del archivo de artefacto. Si este URI no tiene un esquema (por ejemplo, http:, azureml: o similar), se considera una referencia local y el archivo al que apunta se carga en el almacenamiento de blobs del área de trabajo predeterminado a medida que se crea la entidad.
    type const Tipo de datos de entrada. Para generar modelos de Computer Vision, el usuario debe incorporar datos de imagen etiquetados como entrada para el entrenamiento del modelo en forma de MLTable. mltable mltable

    entrenamiento

    Clave Tipo Descripción Valores permitidos Valor predeterminado
    allowed_training_algorithms lista(cadena) Lista de algoritmos de previsión de series temporales para probar como modelo base para el entrenamiento de modelos en un experimento. Si se omite o se establece en Ninguno, se usan todos los algoritmos admitidos durante el experimento, excepto los algoritmos especificados en 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 lista(cadena) Lista de algoritmos de previsión de series temporales que no se van a ejecutar como modelo base para el entrenamiento de modelos en un experimento. Si se omite o se establece en Ninguno, se usan todos los algoritmos admitidos durante el entrenamiento del modelo. '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
    enable_dnn_training boolean Marca para activar o desactivar la inclusión de modelos basados en DNN que se van a probar durante la selección del modelo. True, False False
    enable_model_explainability boolean Representa una marca para activar la explicación del modelo, como la importancia de las características, del mejor modelo evaluado por el sistema de ML automatizado. True, False True
    enable_vote_ensemble boolean Marca para habilitar o deshabilitar el ensamblado de algunos modelos base mediante el algoritmo de votación. Para obtener más información sobre los ensamblados, consulte Configuración del entrenamiento de AutoML con la versión 2 del SDK de Python para Azure Machine Learning. true, false true
    enable_stack_ensemble boolean Marca para habilitar o deshabilitar el ensamblado de algunos modelos base mediante el algoritmo de apilamiento. En las tareas de previsión, esta marca está desactivada de manera predeterminada para evitar riesgos de sobreajuste debido a un pequeño conjunto de entrenamiento utilizado para ajustar el meta aprendiz. Para obtener más información sobre los ensamblados, consulte Configuración del entrenamiento de AutoML con la versión 2 del SDK de Python para Azure Machine Learning. true, false false

    Caracterización

    Clave Tipo Descripción Valores permitidos Valor predeterminado
    mode string Modo de caracterización que va a usar el trabajo de ML automatizado.
    Si se establece en:
    'auto' indica si el paso de caracterización se debe realizar automáticamente.
    'off' indica que no hay caracterización<'custom' indica si se debe usar la caracterización personalizada.

    Nota: Si los datos de entrada son dispersos, la caracterización no se puede desactivar.
    'auto', 'off', 'custom' None
    blocked_transformers lista(cadena) Lista de nombres de transformadores que ML automatizado bloqueará durante el paso de caracterización, si el valor de mode de la caracterización está establecido en "custom". 'text_target_encoder', 'one_hot_encoder', 'cat_target_encoder', 'tf_idf', 'wo_e_target_encoder', 'label_encoder', 'word_embedding', 'naive_bayes', 'count_vectorizer', 'hash_one_hot_encoder' None
    column_name_and_types object Objeto de diccionario que consta de nombres de columna como clave de diccionario y tipos de características usados para actualizar el propósito de la columna como valor asociado, si el valor de mode de la caracterización está establecido en "custom".
    transformer_params object Objeto de diccionario anidado formado por el nombre del transformador como clave y los parámetros de personalización correspondientes de las columnas del conjunto de datos para la caracterización, si el valor de mode de la caracterización está establecido en "custom".
    La previsión solo admite el transformador imputer para la personalización.
    Consulte column_transformers para averiguar cómo crear los parámetros de personalización.
    None

    column_transformers

    Clave Tipo Descripción Valores permitidos Valor predeterminado
    fields lista(cadena) Lista de nombres de columna en los que se debe aplicar el elemento transformer_params proporcionado.
    parameters object Objeto de diccionario que consta de "estrategia" como clave y el valor como estrategia de imputación.
    En los ejemplos que puede encontrar aquí se ofrecen más detalles sobre cómo se puede proporcionar.

    Salidas de trabajo

    Clave Tipo Descripción Valores permitidos Valor predeterminado
    type string Tipo de salida del trabajo. Para el tipo predeterminado uri_folder, la salida corresponde a una carpeta. uri_folder , mlflow_model, custom_model uri_folder
    mode string Modo en el que se entregarán los archivos de salida al almacenamiento de destino. Para el modo de montaje de lectura y escritura (rw_mount), el directorio de salida es un directorio montado. En el modo de carga, los archivos escritos se cargan al final del trabajo. rw_mount, upload rw_mount

    Ejecución del trabajo de previsión mediante la 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]