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' , , '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_model custom_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]
Liens rapides pour plus de références :
- Installer et utiliser l’interface CLI (v2)
- Comment exécuter un travail ML automatisé via l’interface CLI
- Comment entraîner automatiquement des prévisions
- Exemples de prévisions avec CLI :
Prévisions de ventes de jus d’orange
Prévisions de la demande en énergie
Prévisions de la demande en partage de vélos
Prévision des utilisateurs actifs au quotidien sur GitHub