Entraîner à l’aide d’AutoML (GeoAI)

Synthèse

Entraîne un modèle de Deep Learning en construisant des pipelines d’entraînement et en automatisant une grande partie du processus d’entraînement. Cela inclut l’analyse des données exploratoires, la sélection des entités, l’ingénierie des entités, la sélection des modèles, l’optimisation des hyperparamètres et l’entraînement des modèles. Sa sortie comprend des mesures de performances du meilleur modèle sur les données d’entraînement, ainsi que le paquetage de modèle de Deep Learning entraîné (.dlpk) utilisable comme entrée de l’outil Prévoir à l’aide d’AutoML pour faire une prévision sur un nouveau jeu de données.

En savoir plus sur le fonctionnement d’AutoML

Utilisation

  • Vous devez installer la structure de Deep Learning correspondant à Python dans AllSource.

    Découvrir comment installer des structures de Deep Learning pour ArcGIS

  • Le temps nécessaire à l’outil pour produire le modèle entraîné dépend des éléments suivants :

    • La quantité de données fournies pendant l’entraînement
    • La valeur du paramètre Mode AutoML

    Par défaut, le minuteur est défini sur 60 minutes pour tous les modes. Quelle que soit la quantité de données utilisées pour l’entraînement, l’option De base ne nécessite pas l’intégralité des 60 minutes pour trouver le modèle optimal. Le processus d’ajustement se termine dès que le modèle optimal est identifié. L’option Avancé nécessite plus de temps en raison des tâches supplémentaires liées à l’ingénierie des entités, à la sélection des entités et à l’optimisation des hyperparamètres. En plus des nouvelles entités obtenues en combinant plusieurs entités à partir de l’entrée, l’outil crée des entités spatiales dont les noms vont de zone3_id à zone7_id. Ces nouvelles entités sont extraites des informations de localisation figurant dans les données en entrée et sont utilisées pour entraîner de meilleurs modèles. Pour plus d’informations sur les nouvelles entités spatiales, reportez-vous à la rubrique Fonctionnement d’AutoML. Si la quantité de données entraînées est élevée, toutes les combinaisons de modèles peuvent ne pas être évaluées dans le délai de 60 minutes. Dans ce cas, le modèle le plus performant déterminé dans ce délai sera considéré comme le modèle optimal. Vous pouvez alors utiliser ce modèle ou ré-exécuter l’outil avec une valeur de paramètre Limite de durée totale (minutes).

  • Une licence ArcGIS Spatial Analyst extension est requise pour utiliser des rasters en tant que variables explicatives.

  • La valeur du paramètre Rapport en sortie est un fichier au format HTML qui permet d’examiner les informations dans le répertoire de travail.

    La première page du rapport en sortie comprend des liens vers chacun des modèles évalués et affiche leurs performances sur un jeu de données de validation, ainsi que le temps ayant été nécessaire pour les entraîner. En fonction de la mesure d’évaluation, le rapport affiche le modèle le plus performant ayant été choisi.

    RMSE est la mesure d’évaluation par défaut utilisée pour les problèmes de régression, tandis que Logloss est la mesure par défaut utilisée pour les problèmes de classification. Les mesures suivantes sont disponibles dans le rapport en sortie :

    • Classification : AUC, Logloss, F1, Accuracy, Average precision
    • Régression : MSE, RMSE, MAE, R2, MAPE, coefficient de Spearman, coefficient de Pearson

    Lorsque vous cliquez sur une combinaison de modèles, des détails sur l’entraînement de cette combinaison s’affichent, y compris les courbes d’apprentissage, les courbes d’importance des variables, les hyperparamètres utilisés, etc.

  • Les cas d’utilisation potentiels de l’outil incluent l’entraînement d’un modèle de génération d’énergie solaire annuelle en fonction de facteurs météorologiques, l’entraînement d’un modèle de prévision des récoltes à l’aide de variables associées et l’entraînement d’un modèle de prévision des valeurs des maisons.

  • Pour en savoir plus sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes que vous pouvez rencontrer, consultez la FAQ sur le Deep Learning.

Paramètres

ÉtiquetteExplicationType de données
Entités d’entraînement en entrée

Classe d’entités en entrée allant être utilisée pour entraîner le modèle.

Feature Layer; Table View
Modèle en sortie

Modèle entraîné en sortie allant être enregistré en tant que paquetage de Deep Learning (fichier .dlpk).

File
Variable à prévoir

Champ de la valeur de paramètre Entités d’entraînement en entrée contenant les valeurs à utiliser pour entraîner le modèle. Ce champ contient des valeurs (d’entraînement) connues de la variable qui sera utilisée pour réaliser des prévisions à des emplacements inconnus.

Field
Traiter les variables comme catégorielles
(Facultatif)

Indique si la valeur de paramètre Variable à prévoir est traitée comme une variable catégorielle.

  • Activé : la valeur de paramètre Variable à prévoir est traitée comme une variable catégorielle et l’outil exécute une classification.
  • Désactivé : la valeur de paramètre Variable à prévoir est traitée comme une valeur continue et l’outil exécute une régression. Il s’agit de l’option par défaut.

Boolean
Variables d’entraînement explicatives
(Facultatif)

Liste des champs qui représentent les variables explicatives utilisées pour prévoir la valeur ou la catégorie de la valeur de paramètre Variable à prévoir. Cochez la case correspondant aux variables qui représentent des classes ou des catégories (par exemple, l’occupation du sol, la présence ou l’absence).

Value Table
Entités de distance d’entraînement explicatives
(Facultatif)

Entités dont les distances depuis les entités d’entraînement en entrée seront estimées automatiquement et ajoutées comme variables plus explicatives. Les distances entre chacune des entités de distance d’entraînement explicatives en entrée et les entités d’entraînement en entrée les plus proches sont calculées. Les entités ponctuelles et surfaciques sont prises en charge, et si les entités de distance d’entraînement explicatives en entrée sont des polygones, les attributs de distance sont calculés comme étant la distance entre les segments les plus proches de la paire d’entités.

Feature Layer
Rasters d’entraînement explicatifs
(Facultatif)

Rasters dont les valeurs sont extraites du raster et considérées comme variables explicatives pour le modèle. Chaque couche forme une variable explicative. Pour chacune des entités d’entraînement en entrée, la valeur de la cellule raster est extraite à l’emplacement exact. Pour les rasters continus, la valeur de raster est extraite par la méthode de rééchantillonnage bilinéaire de raster. Pour les rasters catégoriels, la valeur de raster est extraite par la méthode d’affectation du voisin le plus proche. Si la valeur du paramètre Entités d’entraînement en entrée comporte des polygones, et que vous avez défini ce paramètre, une valeur de raster pour chaque polygone est utilisée dans le modèle. Chaque polygone se voit attribuer la valeur moyenne pour les rasters continus et la majorité pour les rasters catégoriels. Cochez la case de la colonne Catégoriel des rasters qui représentent des classes ou des catégories (par exemple, l’occupation du sol, la présence ou l’absence).

Value Table
Limite de durée totale (minutes)
(Facultatif)

Limite de durée totale en minutes nécessaire à l’entraînement du modèle AutoML. La valeur par défaut est de 60 minutes (1 heure).

Double
Mode AutoML
(Facultatif)

Spécifie l’objectif du mode AutoML et le degré d’intensité de la recherche AutoML.

  • BasicLe mode De base est utilisé pour expliquer la signification des différentes variables et des données. L’ingénierie des entités, la sélection des entités et l’optimisation des hyperparamètres n’ont pas lieu. Des descriptions et des explications entières des courbes d’apprentissage de modèle, des diagrammes d’importance des entités générés pour les modèles d’arbre et des diagrammes SHAP pour tous les autres modèles sont incluses dans les rapports. Ce mode nécessite le temps de traitement le plus faible. Il s’agit de l’option par défaut.
  • IntermédiaireLe mode Intermédiaire est utilisé pour entraîner un modèle allant servir dans des cas d’utilisation réels. Ce mode utilise la validation croisée cinq fois (CV) et produit le résultat des courbes d’apprentissage et des diagrammes d’importance dans les rapports, mais les diagrammes SHAP ne sont pas disponibles.
  • AdvancedLe mode Avancé est utilisé pour les compétitions d’entraînement machine (pour des performances optimales). Ce mode utilise la validation croisée dix fois (CV) et procède à l’ingénierie des entités, à la sélection des entités et à l’optimisation des hyperparamètres. Les entités d’entraînement en entrée sont attribuées à des grilles spatiales de différentes tailles en fonction de leur emplacement, et les ID de grille correspondants sont transmis au modèle en tant que variables explicatives catégorielles supplémentaires. Le rapport ne comprend que les courbes d’apprentissage ; l’explicabilité du modèle n’est pas disponible.
String
Algorithmes
(Facultatif)

Spécifie les algorithmes allant être utilisés pendant l’entraînement.

Par défaut, tous les algorithmes sont utilisés.

  • LinéaireL’algorithme supervisé Régression linéaire sera utilisé pour entraîner un modèle d’entraînement machine de régression.Si l’algorithme Linéaire est le seul algorithme défini, assurez-vous que le nombre total d’enregistrements est inférieur à 10 000 et que le nombre de colonnes est inférieur à 1 000. D’autres modèles étant adaptés à des jeux de données plus volumineux, il est préférable d’utiliser Linéaire avec d’autres algorithmes plutôt qu’isolément.
  • Arbres aléatoiresL’algorithme Machine Learning supervisé basé sur des arbres de décision est utilisé. Il peut être utilisé dans la classification et la régression.
  • XGBoostL’algorithme d’entraînement machine supervisé XGBoost (extreme gradient boosting) est utilisé. Il peut être utilisé dans la classification et la régression.
  • LightGBML’algorithme LightGBM (gradient boosting ensemble), basé sur les arbres de décision, est utilisé. Il peut être utilisé dans la classification et la régression. L’algorithme LightGBM est optimisé pour des performances élevées dans les systèmes distribués.
  • DecisionTreeL’algorithme d’entraînement machine supervisé DecisionTree, qui classe ou fait régresser les données par des réponses vrai et faux à certaines questions, est utilisé. Les arbres de décision sont faciles à comprendre et efficaces pour l’explicabilité.
  • ExtraTreesL’algorithme d’entraînement machine supervisé d’ensemble ExtraTrees (extremely randomized trees), qui utilise des arbres de décision, est utilisé. Cet algorithme est semblable à l’algorithme Arbres aléatoires, à ceci près qu’il peut être plus rapide.
  • CaTBoostL’algorithme CatBoost est utilisé. Il utilise des arbres de décision pour la classification et la régression. Cette option peut utiliser une combinaison de variables explicatives catégorielles et non catégorielles sans prétraitement.
Multivalue
Pourcentage de validation
(Facultatif)

Pourcentage de données en entrée allant être utilisées pour la validation. La valeur par défaut est 10.

Long
Rapport en sortie
(Facultatif)

Rapport en sortie qui sera généré sous forme de fichier .html. Si le chemin d’accès spécifié n’est pas vide, le rapport est créé dans un nouveau dossier sous ce chemin d’accès. Le rapport contient des détails sur les divers modèles et sur les hyperparamètres ayant été utilisés pendant l’évaluation et l’exécution de chaque modèle. Les hyperparamètres sont les paramètres qui contrôlent le processus d’entraînement. Ils ne sont pas mis à jour pendant l’entraînement et comprennent l’architecture du modèle, la vitesse d’apprentissage, le nombre d’époques, etc.

File
Table d’importance en sortie
(Facultatif)

Table en sortie contenant des informations sur l’importance de chaque variable explicative (champs, entités de distance et rasters) utilisée dans le modèle.

Table
Classe d’entités en sortie
(Facultatif)

Couche d’entités contenant les valeurs prédites par le modèle le plus performant sur la couche d’entités d’entraînement. Elle peut être utilisée pour vérifier les performances du modèle en comparant visuellement les valeurs prédites à la réalité de terrain.

Feature Class

arcpy.geoai.TrainUsingAutoML(in_features, out_model, variable_predict, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {total_time_limit}, {autoML_mode}, {algorithms}, {validation_percent}, {out_report}, {out_importance}, {out_features})
NomExplicationType de données
in_features

Classe d’entités en entrée allant être utilisée pour entraîner le modèle.

Feature Layer; Table View
out_model

Modèle entraîné en sortie allant être enregistré en tant que paquetage de Deep Learning (fichier .dlpk).

File
variable_predict

Champ du paramètre in_features contenant les valeurs à utiliser pour entraîner le modèle. Ce champ contient des valeurs (d’entraînement) connues de la variable qui sera utilisée pour réaliser des prévisions à des emplacements inconnus.

Field
treat_variable_as_categorical
(Facultatif)

Indique si la valeur de paramètre variable_predict est traitée comme une variable catégorielle.

  • CATEGORICALLa valeur de paramètre variable_predict est traitée comme une variable catégorielle et l’outil exécute une classification.
  • CONTINUOUSLa valeur de paramètre variable_predict est traitée comme une valeur continue et l’outil exécute une régression. Il s’agit de l’option par défaut.
Boolean
explanatory_variables
[explanatory_variables,...]
(Facultatif)

Liste des champs qui représentent les variables explicatives utilisées pour prévoir la valeur ou la catégorie de la valeur de paramètre variable_predict. Transmettez la valeur True ('nom_de_variable',True) pour désigner des variables qui représentent des classes ou des catégories (par exemple, l’occupation du sol, la présence ou l’absence).

Value Table
distance_features
[distance_features,...]
(Facultatif)

Entités dont les distances depuis les entités d’entraînement en entrée seront estimées automatiquement et ajoutées comme variables plus explicatives. Les distances entre chacune des entités de distance d’entraînement explicatives en entrée et les entités d’entraînement en entrée les plus proches sont calculées. Les entités ponctuelles et surfaciques sont prises en charge, et si les entités de distance d’entraînement explicatives en entrée sont des polygones, les attributs de distance sont calculés comme étant la distance entre les segments les plus proches de la paire d’entités.

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(Facultatif)

Rasters dont les valeurs sont extraites du raster et considérées comme variables explicatives pour le modèle. Chaque couche forme une variable explicative. Pour chacune des entités d’entraînement en entrée, la valeur de la cellule raster est extraite à l’emplacement exact. Pour les rasters continus, la valeur de raster est extraite par la méthode de rééchantillonnage bilinéaire de raster. Pour les rasters catégoriels, la valeur de raster est extraite par la méthode d’affectation du voisin le plus proche. Si la valeur du paramètre in_features comporte des polygones, et que vous avez défini ce paramètre, une valeur de raster pour chaque polygone est utilisée dans le modèle. Chaque polygone se voit attribuer la valeur moyenne pour les rasters continus et la majorité pour les rasters catégoriels. Transmettez une valeur True en utilisant "<name_of_raster> true" pour désigner des rasters qui représentent des classes ou des catégories (par exemple, l’occupation du sol, la présence ou l’absence).

Value Table
total_time_limit
(Facultatif)

Limite de durée totale en minutes nécessaire à l’entraînement du modèle AutoML. La valeur par défaut est de 60 minutes (1 heure).

Double
autoML_mode
(Facultatif)

Spécifie l’objectif du mode AutoML et le degré d’intensité de la recherche AutoML.

  • BASICLe mode De base est utilisé pour expliquer la signification des différentes variables et des données. L’ingénierie des entités, la sélection des entités et l’optimisation des hyperparamètres n’ont pas lieu. Des descriptions et des explications entières des courbes d’apprentissage de modèle, des diagrammes d’importance des entités générés pour les modèles d’arbre et des diagrammes SHAP pour tous les autres modèles sont incluses dans les rapports. Ce mode nécessite le temps de traitement le plus faible. Il s’agit de l’option par défaut.
  • INTERMEDIATELe mode Intermédiaire est utilisé pour entraîner un modèle allant servir dans des cas d’utilisation réels. Ce mode utilise la validation croisée cinq fois (CV) et produit le résultat des courbes d’apprentissage et des diagrammes d’importance dans les rapports, mais les diagrammes SHAP ne sont pas disponibles.
  • ADVANCEDLe mode Avancé est utilisé pour les compétitions d’entraînement machine (pour des performances optimales). Ce mode utilise la validation croisée dix fois (CV) et procède à l’ingénierie des entités, à la sélection des entités et à l’optimisation des hyperparamètres. Les entités d’entraînement en entrée sont attribuées à des grilles spatiales de différentes tailles en fonction de leur emplacement, et les ID de grille correspondants sont transmis au modèle en tant que variables explicatives catégorielles supplémentaires. Le rapport ne comprend que les courbes d’apprentissage ; l’explicabilité du modèle n’est pas disponible.
String
algorithms
[algorithms,...]
(Facultatif)

Spécifie les algorithmes allant être utilisés pendant l’entraînement.

  • LINEARL’algorithme supervisé Régression linéaire sera utilisé pour entraîner un modèle d’entraînement machine de régression.Si l’algorithme Linéaire est le seul algorithme défini, assurez-vous que le nombre total d’enregistrements est inférieur à 10 000 et que le nombre de colonnes est inférieur à 1 000. D’autres modèles étant adaptés à des jeux de données plus volumineux, il est préférable d’utiliser Linéaire avec d’autres algorithmes plutôt qu’isolément.
  • RANDOM TREESL’algorithme Machine Learning supervisé basé sur des arbres de décision est utilisé. Il peut être utilisé dans la classification et la régression.
  • XGBOOSTL’algorithme d’entraînement machine supervisé XGBoost (extreme gradient boosting) est utilisé. Il peut être utilisé dans la classification et la régression.
  • LIGHT GBML’algorithme LightGBM (gradient boosting ensemble), basé sur les arbres de décision, est utilisé. Il peut être utilisé dans la classification et la régression. L’algorithme LightGBM est optimisé pour des performances élevées dans les systèmes distribués.
  • DECISION TREEL’algorithme d’entraînement machine supervisé DecisionTree, qui classe ou fait régresser les données par des réponses vrai et faux à certaines questions, est utilisé. Les arbres de décision sont faciles à comprendre et efficaces pour l’explicabilité.
  • EXTRA TREEL’algorithme d’entraînement machine supervisé d’ensemble ExtraTrees (extremely randomized trees), qui utilise des arbres de décision, est utilisé. Cet algorithme est semblable à l’algorithme Arbres aléatoires, à ceci près qu’il peut être plus rapide.
  • CATBOOSTL’algorithme CatBoost est utilisé. Il utilise des arbres de décision pour la classification et la régression. Cette option peut utiliser une combinaison de variables explicatives catégorielles et non catégorielles sans prétraitement.

Par défaut, tous les algorithmes sont utilisés.

Multivalue
validation_percent
(Facultatif)

Pourcentage de données en entrée allant être utilisées pour la validation. La valeur par défaut est 10.

Long
out_report
(Facultatif)

Rapport en sortie qui sera généré sous forme de fichier .html. Si le chemin d’accès spécifié n’est pas vide, le rapport est créé dans un nouveau dossier sous ce chemin d’accès. Le rapport contient des détails sur les divers modèles et sur les hyperparamètres ayant été utilisés pendant l’évaluation et l’exécution de chaque modèle. Les hyperparamètres sont les paramètres qui contrôlent le processus d’entraînement. Ils ne sont pas mis à jour pendant l’entraînement et comprennent l’architecture du modèle, la vitesse d’apprentissage, le nombre d’époques, etc.

File
out_importance
(Facultatif)

Table en sortie contenant des informations sur l’importance de chaque variable explicative (champs, entités de distance et rasters) utilisée dans le modèle.

Table
out_features
(Facultatif)

Couche d’entités contenant les valeurs prédites par le modèle le plus performant sur la couche d’entités d’entraînement. Elle peut être utilisée pour vérifier les performances du modèle en comparant visuellement les valeurs prédites à la réalité de terrain.

Feature Class

Exemple de code

TrainUsingAutoML (fenêtre Python)

Cet exemple illustre l’utilisation de la fonction TrainUsingAutoML.


# Name: TrainUsingAutoML.py
# Description: Train a machine learning model on feature or tabular data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath  = "path_to_data" 
out_path = "path_to_trained_model"

in_feature = os.path.join(datapath, "train_data.gdb", "name_of_data")
out_model = os.path.join(out_path, "model.dlpk")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoML(in_feature, out_model, "price", None, 
                             "bathrooms #;bedrooms #;square_fee #", None, None, 
                             60, "BASIC")