Partager via


Schéma YAML du travail de la commande de prévision ML automatisé CLI (v2)

S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)

Le schéma JSON source se trouve à l’adresse https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json

Notes

La syntaxe YAML détaillée dans ce document est basée sur le schéma JSON pour la dernière version de l’extension ML CLI v2. Le fonctionnement de cette syntaxe est garanti uniquement avec la dernière version de l’extension ML CLI v2. Vous trouverez les schémas des versions d’extension plus anciennes sur https://azuremlschemasprod.azureedge.net/.

Syntaxe YAML

Clé Type Description Valeurs autorisées Valeur par défaut
$schema string L’emplacement/URL pour charger le schéma YAML.
Si l’utilisateur utilise l’extension VS Code d’Azure Machine Learning pour créer le fichier YAML, le fait d’ajouter la mention $schema en haut du fichier permet à l’utilisateur d’appeler des achèvements de schémas et de ressources.
compute string Obligatoire.
Nom de l’infrastructure de calcul AML sur laquelle exécuter le travail.
Le calcul peut être une référence à une machine de calcul existante dans l’espace de travail
Remarque : Les travaux dans le pipeline ne prennent pas en charge «local » comme compute. Le terme « local » signifie ici cette instance de calcul créée dans l’espace de travail Azure Machine Learning studio de l’utilisateur.
1. modèle [^azureml:<compute_name>] pour utiliser un calcul existant,
2. 'local' pour utiliser une exécution locale
'local'
limits object Représente un objet de dictionnaire composé de configurations de limites du travail tabulaire ML automatisé.
La clé est un nom pour la limite dans le contexte du travail et la valeur est la valeur de limite. Consultez Limites pour connaître les propriétés de cet objet.
name string Nom du travail ML automatisé soumis.
Il doit être unique parmi tous les travaux de l’espace de travail. S’il n’est pas spécifié, Azure Machine Learning génère automatiquement un GUID pour le nom.
description string Description du travail ML automatisé.
display_name string Nom du travail que l’utilisateur veut afficher dans l’interface utilisateur de studio. Il peut être non unique dans l’espace de travail. S’il est omis, Azure Machine Learning génère automatiquement un identificateur adjectif-nom explicite pour le nom d’affichage.
experiment_name string Nom de l’expérience.
Les expériences sont des enregistrements de vos travaux d’entraînement ML sur Azure. Les expériences contiennent les résultats de vos exécutions ainsi que des journaux, des graphiques et des graphes. L’enregistrement d’exécution de chaque travail est organisé sous l’expérience correspondante sous l’onglet « Expériences » du studio.
Nom du répertoire de travail dans lequel il a été créé
environment_variables object Objet de dictionnaire de variables d’environnement à définir sur le processus où la commande est exécutée.
outputs object Représente un dictionnaire des configurations de sortie du travail. La clé est un nom pour l’entrée dans le contexte du travail et la valeur est la configuration de sortie. Consultez sortie du travail pour connaître les propriétés de cet objet.
log_files object Objet de dictionnaire contenant les journaux d’exécution d’un travail ML automatisé
log_verbosity string Niveau de détails pour l’écriture dans le fichier journal.
Les valeurs acceptables sont définies dans la bibliothèque de journalisation de Python.
'not_set', , 'debug', 'warning''info', , 'error''critical' 'info'
type const Obligatoire.
Le type de travail.
automl automl
task const Obligatoire.
Type de tâche ML automatisé à exécuter.
forecasting forecasting
target_column_name string Obligatoire.
Représente le nom de la colonne à prévoir. Le travail ML automatisé génère une erreur s’il n’est pas spécifié.
featurization object Objet de dictionnaire définissant la configuration de la caractérisation personnalisée. S’il n’est pas créé, la configuration de ML automatisé applique la caractérisation automatique. Consultez caractérisation pour voir les propriétés de cet objet.
forecasting object Objet de dictionnaire définissant les paramètres du travail de prévision. Consultez prévisions pour connaître les propriétés de cet objet.
n_cross_validations chaîne ou entier Nombre de validations croisées à effectuer pendant la sélection du modèle/pipeline si validation_data n’est pas spécifié.
Dans le cas où à la fois validation_data et ce paramètre ne sont pas fournis ou définis sur None, définissez-les sur auto par défaut. Dans le cas où distributed_featurization est activé et où validation_data n’est pas spécifié, il est défini sur 2 par défaut.
'auto', [int] None
primary_metric string Métrique que ML automatisé optimise pour la sélection du modèle de prévision de série chronologique.
Si allowed_training_algorithms a « tcn_forecaster » à utiliser pour l’entraînement, ML automatisé prend en charge seulement « normalized_root_mean_squared_error » et « normalized_mean_absolute_error » à utiliser comme primary_metric.
"spearman_correlation", , "normalized_root_mean_squared_error""r2_score" "normalized_mean_absolute_error" "normalized_root_mean_squared_error"
training object Objet de dictionnaire définissant la configuration utilisée dans l’entraînement du modèle.
Consultez entraînement pour connaître les propriétés de cet objet.
training_data object Obligatoire
Objet de dictionnaire contenant la configuration de MLTable définissant les données d’entraînement à utiliser comme entrée pour l’entraînement du modèle. Ces données sont un sous-ensemble de données et doivent être composées à la fois de caractéristiques/colonnes indépendantes et d’une caractéristique/colonne cible. L’utilisateur peut utiliser une MLTable inscrite dans l’espace de travail en utilisant le format « : » (par exemple Input(mltable=’my_mltable:1’)) OU utiliser un fichier ou un dossier local en tant que MLTable (par exemple Input(mltable=MLTable(local_path="./data")). Cet objet doit être fourni. Si la caractéristique cible n’est pas présente dans le fichier source, ML automatisé génère une erreur. Consultez données d’entraînement ou de validation ou de test pour connaître les propriétés de cet objet.
validation_data object Objet de dictionnaire contenant la configuration MLTable définissant les données de validation à utiliser dans l’expérience ML automatisé pour la validation croisée. Il doit être composé à la fois de caractéristiques/colonnes indépendantes et d’une caractéristique/colonne cible si cet objet est fourni. Les exemples dans les données d’entraînement et les données de validation ne peuvent pas se chevaucher dans un fold.
Consultez données d’entraînement ou de validation ou de test pour connaître les propriétés de cet objet. Dans le cas où cet objet n’est pas défini, ML automatisé utilise n_cross_validations pour séparer les données de validation des données d’entraînement définies dans l’objet training_data.
test_data object Objet de dictionnaire contenant la configuration MLTable définissant les données de test à utiliser dans la série de tests pour les prédictions dans l’utilisation du meilleur modèle et évalue le modèle en utilisant des métriques définies. Il doit être composé seulement de caractéristiques indépendantes utilisées dans les données d’apprentissage (sans caractéristique cible) si cet objet est fourni.
Consultez données d’entraînement ou de validation ou de test pour connaître les propriétés de cet objet. S’il n’est pas fourni, ML automatisé utilise d’autres méthodes prédéfinies pour suggérer le meilleur modèle à utiliser pour l’inférence.

limites

Clé Type Description Valeurs autorisées Valeur par défaut
enable_early_termination boolean Indique s’il faut activer l’arrêt de l’expérience si le score de perte ne s’améliore pas après un nombre « x » d’itérations.
Dans un travail ML automatisé, aucun arrêt anticipé n’est appliqué sur les 20 premières itérations. La fenêtre d’arrêt anticipé démarre seulement après les 20 premières itérations.
true, false true
max_concurrent_trials entier Nombre maximal d’essais (travaux enfants) qui seraient exécutés en parallèle. Il est fortement recommandé de définir le nombre d’exécutions simultanées sur le nombre de nœuds dans le cluster (calcul aml défini dans compute). 1
max_trials entier Représente le nombre maximal d’essais qu’un travail de ML automatisé peut effectuer pour exécuter un algorithme d’entraînement avec différentes combinaisons d’hyperparamètres. Sa valeur par défaut est définir sur 1000. Si enable_early_termination est défini, le nombre d’essais utilisés pour exécuter des algorithmes d’entraînement peut être plus petit. 1000
max_cores_per_trial entier Représente le nombre maximum de cœurs disponibles pour chaque essai. Sa valeur par défaut est définie sur -1, ce qui signifie que tous les cœurs sont utilisés dans le processus. -1
timeout_minutes entier Durée maximale en minutes que le travail ML automatisé soumis peut prendre pour s’exécuter. Après la durée spécifiée, le travail est arrêté. Ce délai d’expiration inclut l’installation, la caractérisation, les exécutions d’entraînement, l’apprentissage ensembliste et l’explicabilité du modèle (si elles sont fournies) de tous les essais.
Notez qu’elle n’inclut pas les exécutions d’apprentissage ensembliste et d’explicabilité du modèle à la fin du processus si le travail ne parvient pas à se terminer dans le délai de timeout_minutes, car ces fonctionnalités sont disponibles une fois que toutes les essais (travaux enfants) sont terminés.
La valeur par défaut est définie sur 360 minutes (6 heures). Pour spécifier un délai d’expiration inférieur ou égal à 1 heure (60 minutes), l’utilisateur doit vérifier que la taille du jeu de données n’est pas supérieure à 10 000 000 (lignes X colonne), sans quoi une erreur se produit.
360
trial_timeout_minutes entier Durée maximale en minutes pendant laquelle chaque essai (travail enfant) dans le travail ML automatisé soumis peut s’exécuter. Après la durée spécifiée, le travail enfant est arrêté. 30
exit_score float Score à atteindre par une expérience. L’expérience s’arrête une fois que le score spécifié est atteint. Si elle n’est pas spécifiée (pas de critère), l’expérience s’exécute jusqu’à qu’il n’y ait plus de progression sur la primary metric définie.

prévision

Clé Type Description Valeurs autorisées Valeur par défaut
time_column_name string Obligatoire
Nom de la colonne dans le jeu de données qui correspond à l’axe temporel de chaque série chronologique. Le jeu de données d’entrée pour l’entraînement, la validation ou le test doit contenir cette colonne si la tâche est forecasting. Si elle pas fournie ou si elle est définie sur None, le travail de prévision ML automatisé lève une erreur et met fin à l’expérience.
forecast_horizon chaîne ou entier Horizon maximal de prévision souhaité en unités de fréquence de la série chronologique. Ces unités sont basées sur l’intervalle de temps inféré de vos données d’entraînement (par exemple mensuelles, hebdomadaires) que le prévisionniste doit prédire. S’il est défini sur None ou sur auto, sa valeur par défaut est définie sur 1, ce qui signifie « t+1 » à partir du dernier horodatage t dans les données d’entrée. auto, [int] 1
frequency string Fréquence à laquelle la génération de prévision est souhaitée, par exemple quotidienne, hebdomadaire, annuelle, etc.
Si elle n’est pas spécifiée ou est définie sur None, sa valeur par défaut est inférée à partir de l’index chronologique du jeu de données. L’utilisateur peut définir une valeur supérieure à la fréquence inférée du jeu de données, mais pas inférieure à celle-ci. Par exemple, si la fréquence du jeu de données est quotidienne, elle peut prendre une valeur comme quotidienne, hebdomadaire, mensuelle, mais pas « toutes les heures », car cette valeur est inférieure à « quotidienne » (24 heures).
Pour plus d’informations, consultez la documentation Pandas.
None
time_series_id_column_names chaîne ou liste(chaînes) Noms des colonnes dans les données à utiliser pour regrouper les données en plusieurs séries chronologiques. Si time_series_id_column_names n’est pas défini ou est défini sur None, ML automatisé utilise la logique de détection automatique pour détecter les colonnes. None
feature_lags string Indique si l’utilisateur veut générer automatiquement des retards pour les caractéristiques numériques fournies. La valeur par défaut est définir sur auto, ce qui signifie que ML automatisé utilise une heuristique basée sur la corrélation automatique pour sélectionner automatiquement des ordres de décalage et générer les caractéristiques de décalage correspondantes pour toutes les caractéristiques numériques. « None » signifie qu’aucun retard n’est généré pour aucune des caractéristiques numériques. 'auto', None None
country_or_region_for_holidays string Pays ou région utilisé pour générer les caractéristiques de congés. Ces caractères doivent être représentés par les codes de pays/région à deux lettres au format ISO 3166, par exemple, « US » ou « GB ». La liste des codes ISO est disponible sur https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size chaîne ou entier Nombre de périodes entre origin_time d’un fold de validation croisée et le fold suivant. Par exemple, s’il est défini sur 3 pour les données quotidiennes, l’heure d’origine de chaque fold est espacée de 3 jours. S’il est défini sur None ou non spécifié, il est défini sur auto par défaut. S’il est de type entier, la valeur minimale qu’il peut prendre est 1 ; sinon, il génère une erreur. auto, [int] auto
seasonality chaîne ou entier Caractère saisonnier de la série chronologique sous la forme d’un entier multiple de la fréquence de la série. Si la saisonnalité n’est pas spécifiée, sa valeur est définie sur 'auto', ce qui signifie qu’elle est inférée automatiquement par ML automatisé. Si ce paramètre n’est pas défini sur None, ML automatisé suppose que la série chronologique est non saisonnière, ce qui revient à la définir sur la valeur entière 1. 'auto', [int] auto
short_series_handling_config string Représente la façon dont ML automatisé doit gérer les séries chronologiques courtes, s’il est spécifié. Il prend les valeurs suivantes :
  • 'auto' : les séries courtes sont complétées avec des zéros s’il n’y a pas de séries longues. Sinon, les séries courtes sont supprimées.
  • 'pad' : toutes les séries courtes sont complétées avec des zéros.
  • 'drop' : toutes les séries courtes sont supprimées.
  • None : la série courte n’est pas modifiée.
    'auto', , 'pad''drop', ,None auto
    target_aggregate_function string Représente la fonction d’agrégation à utiliser pour agréger la colonne cible dans une série chronologique et générer les prévisions à la fréquence spécifiée (définie dans freq). Si ce paramètre est défini, mais que le paramètre freq ne l’est pas, une erreur est générée. S’il est omis ou défini sur None, aucune agrégation n’est appliquée. 'sum', , 'max''min', ,'mean' auto
    target_lags chaîne ou entier ou liste(entier) Nombre de périodes passées/historiques à utiliser pour se décaler depuis les valeurs cibles en fonction de la fréquence du jeu de données. Par défaut, ce paramètre est désactivé. Le paramètre 'auto' permet au système d’utiliser un décalage basé sur une heuristique automatique.
    Cette propriété de décalage doit être utilisée quand la relation entre les variables indépendantes et la variable dépendante ne sont pas en corrélation par défaut. Pour plus d’informations, consultez Caractéristiques en décalage pour la prévision de séries chronologiques dans ML automatisé.
    'auto', [int] None
    target_rolling_window_size chaîne ou entier Nombre d’observations passées à utiliser pour créer une moyenne de fenêtres glissantes de la colonne cible. Pendant la prévision, ce paramètre correspond à n périodes historiques à utiliser pour générer les valeurs prévues, < = taille du jeu d’entraînement. En cas d’omission, n est la taille du jeu d’apprentissage complet. Spécifiez ce paramètre si vous souhaitez prendre en compte seulement une partie des données historiques pour l’entraînement du modèle. 'auto', entier, None None
    use_stl string Les composants à générer en appliquant la décomposition STL sur la série chronologique. S’il n’est pas fourni ou est défini sur None, aucun composant de série chronologique n’est généré.
    use_stl pouvez prendre deux valeurs :
    'season' : pour générer le composant de saison.
    'season_trend' : pour générer à la fois des composants de saison ML automatisé et de tendance.
    'season', 'seasontrend' None

    données d’entraînement ou de validation ou de test

    Clé Type Description Valeurs autorisées Valeur par défaut
    datastore string Nom du magasin de données où les données sont chargées par l’utilisateur.
    path string Chemin d’accès à partir duquel les données doivent être chargées. Il peut s’agir d’un chemin file, d’un chemin folder ou de pattern pour des chemins.
    pattern spécifie un modèle de recherche pour autoriser le « globbing » (* et **) des fichiers et dossiers contenant des données. Les types d’URI pris en charge sont azureml, https, wasbs, abfss et adl. Pour plus d’informations, consultez Syntaxe YAML fondamentale pour comprendre comment utiliser le format d’URI azureml://. URI de l’emplacement du fichier d’artefact. Si cet URI n’a pas de schéma (par exemple, http:, azureml: etc.), il est considéré comme une référence locale et le fichier vers lequel il pointe est chargé vers le stockage blob de l’espace de travail par défaut lors de la création de l’entité.
    type const Type de données d’entrée. Pour générer des modèles de vision par ordinateur, l’utilisateur doit apporter les données d’image étiquetées comme entrées pour la formation de modèles sous la forme d’un MLTable. mltable mltable

    apprentissage

    Clé Type Description Valeurs autorisées Valeur par défaut
    allowed_training_algorithms liste(chaîne) Liste d’algorithmes de prévision de séries chronologiques à essayer comme modèle de base pour l’entraînement du modèle dans une expérience. S’il est omis ou est défini sur None, tous les algorithmes pris en charge sont utilisés pendant l’expérience, à l’exception des algorithmes spécifiés dans blocked_training_algorithms. 'auto_arima', , 'prophet','seasonal_naive''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 liste(chaîne) Liste d’algorithmes de prévision de séries chronologiques à ne pas exécuter comme modèle de base lors de l’entraînement du modèle dans une expérience. S’il est omis ou est défini sur None, tous les algorithmes pris en charge sont utilisés lors de l’entraînement du modèle. '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 Indicateur permettant d’activer ou de désactiver l’inclusion de modèles basés sur DNN à essayer lors de la sélection du modèle. True, False False
    enable_model_explainability boolean Représente un indicateur permettant d’activer l’explicabilité du modèle, comme l’importance des caractéristiques, du meilleur modèle évalué par le système ML automatisé. True, False True
    enable_vote_ensemble boolean Indicateur permettant d’activer ou de désactiver l’apprentissage ensembliste de certains modèles de base en utilisant l’algorithme Voting (Vote). Pour plus d’informations sur les ensembles, consultez Configurer l’apprentisssage automatique. true, false true
    enable_stack_ensemble boolean Indicateur permettant d’activer ou de désactiver l’apprentissage ensembliste de certains modèles de base en utilisant l’algorithme Stacking (Empilement). Dans les tâches de prévision, cet indicateur est désactivé par défaut pour éviter les risques de surajustement en raison de la petite taille d’un jeu d’entraînement utilisé pour ajuster le métalearner. Pour plus d’informations sur les ensembles, consultez Configurer l’apprentisssage automatique. true, false false

    caractérisation

    Clé Type Description Valeurs autorisées Valeur par défaut
    mode string Mode de caractérisation à utiliser par le travail ML automatisé.
    Définissez-le sur :
    'auto', il indique que l’étape de caractérisation ne doit pas être effectuée automatiquement.
    'off', il indique qu’il n’y a aucune caractérisation<'custom', il indique si une caractérisation personnalisée doit être utilisée.

    Remarque : Si les données d’entrée sont éparses, la caractérisation ne peut pas être activée.
    'auto', , 'off''custom' None
    blocked_transformers liste(chaîne) Liste des noms de transformateurs à bloquer pendant l’étape de caractérisation par ML automatisé, si mode de caractérisation est défini sur « custom ». 'text_target_encoder', , 'one_hot_encoder', 'tf_idf''cat_target_encoder', , 'label_encoder''count_vectorizer''word_embedding''naive_bayes''wo_e_target_encoder''hash_one_hot_encoder' None
    column_name_and_types object Objet de dictionnaire constitué de noms de colonnes en tant que clé de dict et de types de caractéristiques utilisés pour mettre à jour l’objectif de colonne en tant que valeur associée, si mode de caractérisation est défini sur « custom ».
    transformer_params object Objet de dictionnaire imbriqué comprenant le nom du transformateur en tant que clé et les paramètres de personnalisation correspondants sur les colonnes de jeu de données pour la caractérisation, si mode de caractérisation est défini sur « custom ».
    La prévision prend en charge seulement le transformateur imputer pour la personnalisation.
    Consultez column_transformers pour savoir comment créer des paramètres de personnalisation.
    None

    column_transformers

    Clé Type Description Valeurs autorisées Valeur par défaut
    fields liste(chaîne) Liste des noms de colonnes sur lesquels les transformer_params doivent être appliqués.
    parameters object Objet de dictionnaire composé de « strategy » comme clé et d’une valeur comme stratégie d’imputation.
    Pour plus d’informations sur la façon dont il peut être fourni, consultez des exemples ici.

    Sorties du travail

    Clé Type Description Valeurs autorisées Valeur par défaut
    type string Type de sortie du travail. Pour le type uri_folder par défaut, la sortie correspond à un dossier. uri_folder, , mlflow_modelcustom_model uri_folder
    mode string Mode de remise du ou des fichiers de sortie dans le stockage de destination. Pour le mode de montage en lecture-écriture (rw_mount), le répertoire de sortie est un répertoire monté. Pour le mode chargement, le ou les fichiers écrits sont chargés à la fin du travail. rw_mount, upload rw_mount

    Comment exécuter un travail de prévision via l’interface 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]