Skip To Content

Classification et régression basées sur une forêt

Classification et régression basées sur une forêt L’outil Classification et régression basées sur une forêt modélise et génère des prévisions à l’aide d’une adaptation de l’algorithme des forêts aléatoires introduit par Leo Breiman, qui est une méthode d’apprentissage automatique supervisé. Les prévisions sont réalisables pour les variables catégorielles (classification) et les variables continues (régression). Les variables explicatives sont des champs de la table attributaire des entités d’entraînement. Outre la validation des performances du modèle en fonction des données d’entraînement, vous pouvez aussi réaliser des prévisions sur des entités.

Diagramme de workflow

Diagramme de processus Cassification et régression basées sur une forêt

Analyse avec les Outils GeoAnalytics

Vous pouvez exécuter des analyses avec Outils GeoAnalytics via un traitement distribué sur plusieurs cœurs et machines ArcGIS GeoAnalytics Server. Outils GeoAnalytics et les outils d’analyse d’entités standard de ArcGIS Enterprise proposent différents paramètres et fonctionnalités. Pour en savoir plus sur ces différences, reportez-vous à la rubrique Différences entre les outils d’analyse d’entités.

Exemples

  • À l’aide de données sur la présence de la posidonie, ainsi qu’un nombre de variables explicatives environnementales représentées, en plus des distances vers les usines en amont et les principaux ports, la présence de la posidonie peut être prévue en fonction de projections concernant ces mêmes variables explicatives environnementales.
  • Il est possible de prévoir la valeur des logements en fonction du prix des maisons vendues au cours de l’année précédente. Vous pouvez étudier le prix de vente des logements et des données telles que le nombre de chambres, la proximité des établissements scolaires et des principaux axes routiers, le revenu moyen et le nombre de délits pour prévoir les prix de vente de logements similaires.
  • Si vous combinez les informations dont vous disposez sur les niveaux de plomb relevés dans le sang des enfants, les identifiants d’imposition et de parcelle de leurs domiciles avec des attributs au niveau de la parcelle comme l'année de construction d’un logement, des données de recensement tels que les niveaux de revenu et d'éducation et les jeux de données nationaux reflétant les émissions toxiques de plomb et de composés de plomb, vous pouvez prévoir le risque d'exposition au plomb des parcelles pour lesquelles vous n’avez pas de données sur les niveaux de plomb dans le sang. Ces prévisions du risque peuvent aider à mettre en place des politiques et programmes d’éducation dans la région.

Remarques sur l'utilisation

Cet outil crée des centaines d'arbres, appelés un ensemble d'arbres décisionnels, pour créer un modèle qui peut ensuite être utilisé pour des prévisions. Chaque arbre décisionnel est créé à l'aide de portions générées de manière aléatoire des données d’origine (formation). Chaque arbre génère sa propre prévision et vote sur un résultat. Le modèle de forêt tient compte des votes de tous les arbres décisionnels pour prévoir et classer le résultat d’un échantillon inconnu. Cela est important, car les arbres individuels peuvent avoir des problèmes de sur-ajustement d’un modèle ; cependant, l'association de plusieurs arbres dans une forêt pour prévision règle le problème de sur-ajustement associé à un arbre unique.

Cet outil peut être utilisé en deux modes opératoires. L'option Train a model to assess model performance (Entraîner un modèle pour évaluer ses performances) peut être utilisée pour évaluer la performance des différents modèles lorsque vous explorez différentes variables explicatives et divers paramètres d’outil. Une fois le modèle approprié trouvé, vous pouvez utiliser l'option Fit a model and predict values (Ajuster un modèle et prévoir des valeurs). Il s'agit d'un outil géré par les données à exécuter sur des jeux de données volumineux. L'outil doit faire l’objet d'un entraînement sur un minimum de centaines d’entités pour de meilleurs résultats. Il n’est pas approprié pour les jeux de données très peu volumineux.

Les Input Training Features (Entités d’entraînement en entrée) peuvent être des entités surfaciques, linéaires, ponctuelles ou tabulaires. L'outil ne fonctionne pas avec les données multi-parties.

Les entités avec une ou plusieurs entités de valeurs nulles ou des chaînes vides en prévision ou encore des champs explicatifs seront exclues de la sortie. Si nécessaire, vous pouvez modifier les valeurs à l’aide de l’outil Calculer un champ.

Cet outil génère différentes sorties. Les sorties produites varient selon le mode opératoire comme suit :

  • Train a model to assess model performance (Entraîner un modèle pour évaluer ses performances) produit les deux sorties suivantes :
    • Entités formées en sortie : contient toutes les Input Training Features (Entités d’entraînement en entrée) utilisées dans le modèle créé ainsi que toutes les variables explicatives utilisées dans le modèle. Elle contient également les prévisions pour toutes les entités utilisées pour entraîner le modèle, ce qui peut être utile lors de l’évaluation des performances du modèle créé.
    • Outil Messages de synthèse : messages pour vous aider à comprendre les performances du modèle créé. Les messages incluent des informations sur les caractéristiques de votre modèle, les erreurs OOB, l’importance des variables et les diagnostics de validation. Pour accéder à la synthèse de vos résultats, cliquez sur Show Results (Afficher les résultats) Show Results (Afficher les résultats) sous la couche obtenue dans Map Viewer. Les informations de synthèse sont également ajoutées à la page des détails des éléments.
  • Fit a model and predict values (Ajuster un modèle et prévoir des valeurs) produit les trois résultats suivants :
    • Entités formées en sortie : contient toutes les Input Training Features (Entités d’entraînement en entrée) utilisées dans le modèle créé ainsi que toutes les variables explicatives utilisées dans le modèle. Elle contient également les prévisions pour toutes les entités utilisées pour entraîner le modèle, ce qui peut être utile lors de l’évaluation des performances du modèle créé
    • Entités prévues en sortie : une couche des résultats prévus. Les prévisions sont appliquées à la couche à prévoir (Choose the layer to predict values for (Choisir la couche pour laquelle prévoir des valeurs)) à l'aide du modèle généré depuis la couche d’entraînement.
    • Outil Messages de synthèse : messages pour vous aider à comprendre les performances du modèle créé. Les messages incluent des informations sur les caractéristiques de votre modèle, les erreurs OOB, l’importance des variables et les diagnostics de validation. Pour accéder à la synthèse de vos résultats, cliquez sur Show Results (Afficher les résultats) Show Results (Afficher les résultats) sous la couche obtenue dans Map Viewer. Les informations de synthèse sont également ajoutées à la page des détails des éléments.

Vous pouvez utiliser le paramètre Output Variable Importance Table (Table d'importance des variables en sortie) pour créer une table pour afficher un diagramme d'importance de variable pour évaluation. Les 20 meilleures valeurs d'importance variable sont également indiquées dans la fenêtre des messages. Le diagramme peut être accessible directement en dessous de la couche dans le volet Contents (Contenu).

Les variables explicatives peuvent provenir des champs et doivent contenir une variété de valeurs. Si la variable explicative est catégorique, il convient de cocher la case Categorical (Catégorique) (les variables de type chaîne sont automatiquement cochées). Les variables explicatives catégoriques sont limitées à 60 valeurs uniques, même si un plus petit nombre de catégories améliorera la performance des modèles. Pour une taille de données indiquée, plus une variable contient de catégories, plus elle sera susceptible de monopoliser le modèle et d’entraîner des résultats prévisionnels moins efficaces.

Lors de l’appariement de variables explicatives, les champs Training (Entraînement) et Prediction (Prévision) doivent être de même type (un champ double dans Training (Entraînement) doit être apparié à un champ double dans Prediction (Prévision), par exemple).

Les modèles de forêt n’extrapolent pas. Ils peuvent seulement classer ou effectuer une prédiction en fonction de la plage de valeurs avec laquelle le modèle a été préparé. Entraînez le modèle avec des entités d’entraînement et des variables explicatives qui figurent dans la plage de vos entités et variables cibles. L'outil connaîtra un échec si les catégories existent dans des variables explicatives de prévision qui n’étaient pas présentes dans les entités d’entraînement.

La valeur par défaut du paramètre Number of Trees (Nombre d’arbres) est de 100. L’augmentation du nombre d’arbres dans le modèle de forêt permet de produire un modèle de prévision plus précis, mais son calcul est plus long.

Pour en savoir plus sur la manière dont cet outil fonctionne, et sur l’outil de géotraitement ArcGIS Pro sur lequel cette implémentation est basée, voir Fonctionnement de la classification et de la régression basées sur une forêt.

Limitations

La mise en place GeoAnalytics de la classification et de la régression basées sur une forêt a les limites suivantes :

Exemple de ArcGIS API for Python

L’outil Régression et classification basées sur une forêt est disponible dans ArcGIS API for Python.

Cet exemple construit un modèle et prévoit les ventes de glaces.


# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS
# Connect to your ArcGIS Enterprise portal and check that GeoAnalytics is supported portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False) if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")    exit(1)   
# Find the big data file share dataset you're interested in using for analysis search_result = portal.content.search("", "Big Data File Share")
# Look through search results for a big data file share with the matching name bd_file = next(x for x in search_result if x.title == "bigDataFileShares_IceCreamSales")
# Run the tool Forest-based Classification and Regression to predict forest_model = arcgis.geoanalytics.analyze_patterns.forest(prediction_type = "train",	input_layer = bd_file, 	var_prediction = {"fieldName":"Amount", "categorical":true},
	var_explanatory = [{"fieldName":"Weekend", "categorical":true},{"fieldName":"Temperature", "categorical":false}, {"fieldName":"Holiday", "categorical":true}, {"fieldName":"DistanceToBeach", "categorical":false}],	sample_size = 50,	output_name = "ice_cream_prediction")

Outils semblables

Utilisez l’outil Classification et régression basées sur une forêt de ArcGIS GeoAnalytics Server pour créer des modèles et générer des prévisions l’aide d’une adaptation de l’algorithme des forêts aléatoires introduit par Leo Breiman. D'autres outils peuvent vous aider à résoudre des problèmes légèrement différents.

Outils d'analyse Map Viewer

Créez des modèles et prévisions à l’aide de l’outil ArcGIS GeoAnalytics Server Régression linéaire généralisée.

Outils d'analyse d'ArcGIS Desktop

Pour exécuter l’outil à partir de ArcGIS Pro, votre portail actif doit être Enterprise version 10.7 ou ultérieure. Vous devez vous connecter via un compte détenteur des privilèges permettant d’effectuer une analyse d’entités GeoAnalytics.

Exécutez les opérations de régression similaires dans ArcGIS Pro avec l’outil de géotraitement Classification et régression basées sur une forêt dans le cadre de la boîte à outils Statistiques spatiales.

Effectuez une régression linéaire généralisée (GLR) en vue de générer des prévisions ou de modéliser une variable dépendante en fonction de sa relation avec un ensemble de variables explicatives dans ArcGIS Pro avec l'outil de géotraitementRégression linéaire généralisée dans la boîte à outils Statistiques spatiales.

Exécutez la régression pondérée géographiquement dans ArcGIS Pro avec l'outil de géotraitement Régression pondérée géographiquement dans la boîte à outils Statistiques géospatiales.