L’outil Classification et régression basées sur une forêt prépare un modèle en fonction de valeurs connues fournies dans le cadre d’un jeu de données d’entraînement. Ce modèle de prédiction peut être utilisé par la suite pour prévoir des valeurs inconnues dans un jeu de données de prédiction doté des mêmes variables explicatives associées. L’outil crée des modèles et génère des prédictions à l’aide d’une adaptation de l’algorithme des forêts aléatoires ; celle-ci est une méthode de machine learning non assisté mise au point par Leo Breiman et Adele Cutler. L’outil crée de nombreux arbres décisionnels, nommés ensemble ou forêt, qui sont utilisés pour formuler une prévision. Chaque arbre génère sa propre prédiction et fait partie d'une structure de vote permettant de réaliser des prédictions finales. Les prédictions finales ne reposent pas sur un arbre unique, mais sur la forêt entière. L’utilisation de la forêt entière, plutôt que d’un arbre individuel, permet d’éviter le sur-ajustement du modèle au jeu de données d’entraînement, fréquent lors de l’utilisation d’un sous-ensemble aléatoire des données d’entraînement et des variables explicatives pour chaque arbre de la forêt.
Applications possibles
Les applications possibles de cet outil sont les suivantes :
- Si l’on dispose de données sur la présence de prairies sous-marines, ainsi que d’un certain nombre de variables explicatives environnementales représentées à la fois en tant qu'attributs et rasters, qui peuvent être croisées avec les distances par rapport aux usines en amont et aux zones portuaires principales, il est possible de prévoir les prochaines implantations de prairies sous-marines d'après les projections futures de ces variables explicatives environnementales.
- Supposons que vous ayez collecté des données sur le rendement des récoltes de centaines d'exploitations agricoles dans tout le pays et que, pour chacune de ces exploitations, vous disposiez aussi d'un nombre d'attributs (nombre d'employés, surface cultivée, etc.) et de rasters représentant la pente, l’altitude, les précipitations et la température. En vous appuyant sur ces éléments de données, vous pouvez fournir un ensemble d'entités permettant de représenter les exploitations agricoles pour lesquelles vous n’avez pas de rendement de récoltes (alors que vous avez toutes les autres variables), afin de prévoir le rendement des cultures.
- 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.
- Il est possible d’utiliser des données d’entraînement et une combinaison de couches raster, notamment plusieurs canaux individuels, et des produits tels que la méthode NDVI, pour classer les types d’utilisation du sol.
- 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 de risques peuvent encourager la mise en place de politiques et de programmes d'éducation dans ce secteur.
Préparation d’un modèle
La première étape de l’utilisation de l’outil Classification et régression basées sur une forêt consiste à préparer un modèle de forêt aléatoire pour établir des prédictions. L’entraînement vise à créer une forêt qui établit une relation entre des variables explicatives et le paramètre Variable to Predict (Variable à prévoir). Que vous choisissiez l’option Entraînement uniquement ou que vous réalisiez un entraînement puis une prédiction, l’outil commence par élaborer un modèle basé sur le paramètre Variable à prédire et sur n’importe quelle combinaison des paramètres Variables d’entraînement explicatives, Entités de distance d’entraînement explicatives et Rasters d’entraînement explicatifs (disponible avec une licence d’extension Spatial Analyst). L’outil évalue les performances du modèle créé et fournit des diagnostics supplémentaires.
Par défaut, 10 pour cent des données d’entraînement sont exclues de l'entraînement aux fins de validation. Une fois formé, le modèle est utilisé pour prévoir les valeurs des données de test. En comparant ces valeurs prévues aux valeurs observées, il est possible de mesurer l’exactitude de la prédiction en fonction des données non incluses dans le processus d'entraînement. Des diagnostics supplémentaires concernant le modèle, notamment les caractéristiques de forêt, ses erreurs OOB et une synthèse de l’importance des variables, sont également inclus. Vous trouverez leur description détaillée ci-dessous.
Le modèle peut être construit pour prévoir une valeur Variable to Predict (Variable à prévoir) catégorielle (classification) ou une valeur Variable to Predict (Variable à prévoir) continue (régression). Si vous sélectionnez Traiter la variable comme catégorielle, le modèle est construit en fonction des arbres de classification. Si vous ne sélectionnez pas cette option, le paramètre Variable à prédire est considéré comme continu et le modèle est construit en fonction des arbres de régression.
Variables d’entraînement explicatives
Une des formes les plus courantes des variables explicatives utilisées pour préparer un modèle de forêt sont les champs du jeu de données d’entraînement qui contiennent également le paramètre Variable to Predict (Variable à prévoir). Il peut s’agir de champs continus ou catégoriels. Que la variable à prédire soit continue ou catégorielle, chacune des valeurs Variables d’entraînement explicatives peut être continue ou catégorielle. Si le modèle formé est aussi utilisé pour réaliser une prédiction, chacune des Explanatory Training Variables (Variables d'entraînement explicatives) fournies doit être disponible à la fois pour le jeu de données d'entraînement et pour le jeu de données de prédiction.
Entités de distance d’entraînement explicatives
Même si Classification et régression basées sur une forêt n’est pas un outil d’entraînement machine spatiale, vous pouvez exploiter l’espace dans votre analyse à l’aide des entités de distance. Si vous modélisez les performances d’une série de points de vente au détail, une variable représentant la distance par rapport aux bretelles d’autoroute ou la distance par rapport au concurrent le plus proche peut jouer un rôle essentiel dans l’exactitude des prédictions. De même, si vous modélisez la qualité de l’air, une variable explicative représentant la distance par rapport aux principales sources de pollution ou la distance par rapport aux principaux axes routiers est indispensable. Les entités de distance permettent de créer automatiquement des variables explicatives en calculant une distance à partir des entités fournies pour le paramètre Entités d’entraînement en entrée. Les distances entre chacune des entités de distance d'entraînement explicatives (Explanatory Training Distance Features) en entrée et les entités d'entraînement en entrée (Input Training Feature) les plus proches sont calculées. Si les entités de distance d'entraînement explicatives (Explanatory Training Distance Features) en entrée sont des polygones ou des lignes, les attributs de distance sont calculés comme étant la distance entre les segments les plus proches de la paire d’entités. La méthode de calcul des distances est différente toutefois pour les polygones et pour les lignes. Pour plus d’informations, reportez-vous à la rubrique Calcul de la distance avec les outils de proximité.
Rasters d’entraînement explicatifs
Le paramètre Rasters d’entraînement explicatifs permet également de préparer le modèle, ce qui expose des sources de données dont l’imagerie, les MNE, les modèles de densité de population ou les mesures environnementales. Le paramètre Rasters d’entraînement explicatifs est uniquement disponible si vous possédez une licence Spatial Analyst. Si les valeurs Entités d’entraînement en entrée sont des points, l’outil explore chaque emplacement de point pour en extraire les variables explicatives. Pour les rasters multicanaux, seul le premier canal est utilisé. Pour les jeux de données mosaïque, utilisez d’abord l’outil Créer une couche de mosaïque.
Il peut s’agir de rasters continus ou catégoriels. Que vous choisissiez de prévoir une variable continue ou catégorielle, chacun des Explanatory Training Rasters (Rasters d’entraînement explicatifs) peut être continu ou catégoriel.
Si les valeurs Entités d’entraînement en entrée sont des polygones, que la Variable à prédire est catégorielle et que vous utilisez exclusivement des Rasters d’entraînement explicatifs, vous pouvez utiliser l’option Convertir des polygones en résolution raster pour l’entraînement. Si cette option est activée, le polygone est divisé en points au centroïde de chaque cellule raster dont le centroïde est situé dans le polygone et ce dernier est traité comme un jeu de données ponctuelles. Les valeurs de raster de chaque emplacement de point sont alors extraites, puis utilisées pour former le modèle. Ainsi, le modèle n’est plus formé sur le polygone, mais sur les valeurs de raster extraites pour chaque centroïde de cellule. Une méthode d'échantillonnage bilinéaire est utilisée pour les variables numériques, tandis que la méthode du plus proche est utilisée pour les variables catégorielles. La taille de cellule par défaut des polygones convertis correspond à la taille de cellule maximale des rasters en entrée. Vous pouvez modifier cette taille dans le paramètre d’environnement Taille de cellule. Si cette option n’est pas activée, une valeur de raster est utilisée pour chaque polygone dans le modèle. Chaque polygone se voit attribuer la valeur moyenne pour les rasters continus et la majorité pour les rasters catégoriels.
Prédiction avec un modèle de forêt
Il est préférable de commencer avec l’option Train only (Entraîner uniquement), d’évaluer les résultats de l’analyse, d’ajuster les variables incluses et les paramètres avancés le cas échéant, puis, une fois que le modèle vous convient, de réexécuter l’outil pour effectuer une prévision sur des entités ou un raster. Lorsque vous réalisez une prédiction, il est recommandé de régler le paramètre Training Data Excluded for Validation (%) (Données d'entraînement exclues pour la validation [%]) sur 0 %, de manière à inclure toutes les données d’entraînement disponibles dans le modèle final utilisé pour la prédiction. Pour réaliser des prédictions, vous pouvez procéder comme suit :
Prédiction dans la même zone d’étude
Lorsque vous effectuez une prévision sur des entités situées dans la même zone d’étude, chaque entité de prévision doit inclure toutes les variables explicatives associées (champs), ainsi que les étendues superposées aux attributs Explanatory Training Distance Features (Entités de distance d’entraînement explicatives) et Explanatory Training Rasters (Rasters d’entraînements explicatifs).
Si vous réalisez une prédiction sur un raster dans la même zone d’étude avec les Explanatory Training Rasters (Rasters d'entraînement explicatifs) fournis, la prédiction correspondra à l’étendue superposée de tous les rasters explicatifs.
Prédiction dans une zone d’étude différente
Lorsque vous effectuez une prévision sur des entités situées dans une zone d’étude différente, chaque entité de prévision doit inclure toutes les variables explicatives associées (champs), et les nouvelles entités de distance explicatives et les rasters explicatifs doivent être appariés à leurs attributs Explanatory Training Distance Features (Entités de distance d’entraînement explicatives) et rasters correspondants. Ces nouveaux rasters et entités de distance doivent être disponibles dans la nouvelle zone d'étude et correspondre aux Explanatory Training Distance Features (Entités de distance d'entraînement explicatives) et aux Explanatory Training Rasters (Rasters d'entraînement explicatifs). Par exemple, si vous formez le modèle à l'aide d’un raster catégoriel, le raster explicatif de prédiction correspondant ne peut pas avoir des catégories distinctes ou une plage de valeurs radicalement différente.
Si vous réalisez une prévision sur un raster dans une zone d’étude différente, de nouveaux rasters de prévision explicatifs doivent être fournis et appariés avec leurs Explanatory Training Rasters (Rasters d’entraînement explicatifs) correspondants. Le raster explicatif de prédiction correspondant ne peut pas avoir des catégories distinctes ou une plage de valeurs radicalement différente. Le Output Prediction Raster (Raster de prédiction en sortie) obtenu sera l'étendue superposée de tous les rasters de prédiction explicatifs fournis.
Prédiction sur une période différente en appariant les variables explicatives utilisées pour l’entraînement à des variables avec projections dans l'avenir
Lorsque vous effectuez une prévision sur une autre période future, que la prévision porte sur des entités ou sur un raster, chaque variable de prévision explicative projetée (champs, entités de distance et rasters) doit être appariée aux Variables d’entraînement explicatives correspondantes.
Prédiction sur des entités
Un modèle qui a été préparé avec une combinaison des paramètres Variables d’entraînement explicatives, Entités de distance d’entraînement explicatives et Rasters d’entraînement explicatifs permet de prédire des points ou des polygones, qu’ils appartiennent à la même zone d’étude ou à des zones d’études différentes. Pour réaliser une prédiction sur des entités, toute entité recevant une prédiction doit posséder des valeurs pour chaque champ, entité de distance et raster fournis.
Si les noms des champs Input Training Features et Input Prediction Features ne concordent pas, un paramètre d’appariement des variables est fourni. Lors de l’appariement des variables explicatives, les champs Prediction et Training doivent être de même type (un champ double dans Training doit être apparié à un champ double dans Prediction).
Pour utiliser des entités de distance ou des rasters autres que ceux utilisés pour préparer le modèle, parce que vous effectuez une prévision dans une zone d’étude différente ou une période différente, les paramètres Match Distance Features (Apparier les entités de distance) et Match Explanatory Rasters (Apparier les rasters explicatifs) sont fournis.
Prédiction sur un raster
À l’aide d’un modèle préparé uniquement avec Explanatory Training Rasters (Rasters d’entraînements explicatifs), vous pouvez effectuer une prévision sur un raster dans la même zone d’étude ou dans une zone d’étude différente. Pour utiliser des rasters de prévision autres que ceux utilisés pour préparer le modèle, parce que vous effectuez une prévision dans une zone d’étude différente ou une période différente, un paramètre Match Explanatory Rasters (Apparier les rasters explicatifs) est fourni. Vous pouvez créer un Output Prediction Raster (Raster de prédiction en sortie) avec une licence Spatial Analyst en sélectionnant Predict to raster (Prévoir un raster) en guise de Prediction Type (Type de prédiction).
Diagnostics et messages en sortie
Cet outil crée également des messages et des diagrammes pour vous aider à comprendre les performances du modèle. Vous pouvez accéder aux messages en survolant la barre de progression, en cliquant sur le bouton contextuel ou en développant la section des messages dans la fenêtre Geoprocessing (Géotraitement). Vous pouvez également accéder aux messages d’une précédente exécution de l’outil Prévision et classification basées sur une forêt via l’historique du géotraitement. 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.
La table des caractéristiques du modèle contient des informations sur plusieurs aspects importants de votre modèle de forêt, dont certains sont sélectionnés parmi les paramètres de Advanced Forest Options (Options avancées de la forêt) et dont d’autres sont dynamiques. Il est important de comprendre les caractéristiques dynamiques de forêt aléatoire pour optimiser les performances du modèle. La plage de profondeur des arbres détermine les profondeurs minimale et maximale des arbres se trouvant dans la forêt (la valeur maximale est définie comme paramètre, et toute profondeur inférieure à cette valeur est autorisée). La profondeur d’arbre moyenne représente la moyenne des profondeurs d'arbres de la forêt. Si une profondeur maximale a été définie sur 100, mais que la plage et la profondeur moyenne indiquent qu’une profondeur très inférieure est utilisée la plupart du temps, définir un paramètre de profondeur maximale plus petit peut améliorer les performances du modèle, car cela réduit la probabilité de sur-ajustement du modèle aux données d’entraînement. L'option Number of Randomly Sampled Variables (Nombre de variables échantillonnées de manière aléatoire) représente le nombre de variables sélectionnées de manière aléatoire et utilisées pour un arbre donné de la forêt. Chaque arbre possède une combinaison de variables distincte, mais tous utilisent ce nombre exact. Le nombre sélectionné par défaut dépend à la fois du nombre d'entités et du nombre de variables disponibles. Pour la régression, cette valeur est égale au tiers du nombre total de variables explicatives (y compris les entités, rasters et entités de distance). Pour la classification, cette valeur est égale à la racine carrée du nombre total de variables.
Outre les caractéristiques de base de la forêt, des erreurs OOB sont fournies pour faciliter l’évaluation de l’exactitude du modèle. L’erreur quadratique moyenne (MSE) et le pourcentage de variation expliquée reposent tous les deux sur la capacité du modèle à prévoir avec exactitude la valeur Variable to Predict (Variable à prévoir) en fonction des valeurs observées dans le jeu de données d’entraînement. L’erreur OOB est une erreur de prédiction calculée à l’aide de données faisant partie du jeu de données d’entraînement et qui ne sont pas considérées par un sous-ensemble des arbres constituant la forêt. Si vous souhaitez préparer un modèle sur 100 pour cent de vos données, vous vous appuyez sur l’erreur OOB pour évaluer l’exactitude de votre modèle. Ces erreurs sont signalées pour la moitié du nombre d’arbres et le nombre total d’arbres de manière à déterminer si les performances du modèle s’améliorent avec l’augmentation du nombre d’arbres utilisés. Si les erreurs et le pourcentage de variation expliquée sont des valeurs similaires pour les deux nombres d’arbres, cela indique qu’il est possible d’utiliser un nombre inférieur d’arbres sans impact majeur sur les performances du modèle. Il est néanmoins recommandé d’utiliser autant d'arbres que vous pouvez sur votre ordinateur. Un nombre d’arbres plus élevé dans la forêt génère des résultats plus stables et un modèle dont les données et la structure d’échantillonnage présentent moins de bruit.
Si la valeur Variable to Predict (Variable à prévoir) est catégorielle (indication du paramètre Treat Variable as Categorical (Traiter les variables comme catégorielles)), les erreurs OOB sont calculées en fonction du pourcentage de classifications incorrectes pour chaque catégorie d’arbres qui n’observe pas un sous-jeu des arbres de la forêt. Le pourcentage de classifications OOB incorrectes pour chaque catégorie est imprimé dans les messages de géotraitement. L’erreur quadratique moyenne (MSE) des classifications est également imprimée, et peut être interprétée comme la proportion générale de classifications OOB incorrectes dans toutes les catégories. Si vous attribuez une valeur faible au paramètre Number of Trees (Nombre d’arbres), il est possible que chaque arbre ne voie aucune des données d’entraînement d’une ou plusieurs catégories. Dans ce cas, l’erreur OOB est 100 pour cent.
Les variables explicatives utilisées jouent également un rôle essentiel dans les performances du modèle. La table de l’importance des variables principales répertorie les variables avec les 20 principaux scores d’importance. L’importance est calculée à l'aide de coefficients de Gini, qui peuvent être assimilés au nombre de fois qu’une variable est à l’origine d’un fractionnement et à l’impact de ce dernier, divisé par le nombre d'arbres. Un fractionnement correspond à une décision individuelle au sein d’un arbre décisionnel. L’importance des variables peut servir à créer un modèle plus simple (parcimonieux) contenant les variables considérées comme pertinentes.
Un diagramme à barres facultatif illustrant l’importance de chaque variable utilisée dans le modèle est créé si le paramètre Table des diagnostics en sortie est défini et accessible dans la fenêtre Contenu. Dans ce diagramme, les variables utilisées dans le modèle sont représentées sur l'axe des y et leur importance selon le coefficient de Gini figure sur l'axe des x.
Si une valeur est précisée pour Number of Runs for Validation (Nombre d’exécutions pour la validation), un diagramme de boîte à moustaches d’importance des variables est créée à la place d’un diagramme à barres. La boîte à moustaches présente la distribution des valeurs d’importance des variables dans toutes les exécutions de validation. La distribution de l’importance des variables est un indicateur de la stabilité du modèle de forêt préparé. Si l’importance des variables change largement lors des exécutions de la validation, indiquées par une longue zone dans le diagramme, cela peut indiquer un modèle de forêt aléatoire instable. Un modèle instable peut souvent être amélioré en accroissant le Number of Trees (Nombre d’arbres) pour saisir des relations plus complexes dans les données.
L’importance des variables illustre un diagnostic qui vous aide à comprendre quelles variables génèrent les résultats du modèle. Il ne s’agit pas d’une mesure de la manière dont le modèle prédit (comme R2 dans les modèles de régression). Une bonne pratique consiste à utiliser toutes les données pour la préparation en définissant les Training Data Excluded for Validation (Données d’entraînement exclues pour la validation) sur 0 et en explorant la boîte à moustaches de l’importance des variables. Ensuite, modifiez d’autres paramètres, tels que Number of Trees (Nombre d’arbres) ou Maximum Tree Depth (Profondeur d’arbre maximum), et explorez les boîtes à moustaches jusqu’à avoir un modèle stable. À l’issue de la préparation d’un modèle stable, quelle que soit l’importance des variables, vous pouvez accroître les Training Data Excluded for Validation (Données d’entraînement exclues pour la validation) afin de déterminer la précision de votre modèle. Explorez les erreurs OOB des messages de diagnostic afin de déterminer la précision de votre modèle. Une fois que vous avez un modèle avec une importance des variables stable et précis, vous pouvez définir le Number of Runs for Validation (Nombre d’exécutions pour la validation) sur 1 et obtenir un diagramme à barres unique qui illustre l’importance des variables finale de votre modèle.
Vous pouvez également prédire les performances du modèle en utilisant le modèle pour prédire les valeurs des entités qui n’étaient pas incluses dans la préparation du modèle. Par défaut, ce jeu de données de test équivaut à 10 pour cent de la valeur Input Training Features (Entités d’entraînement en entrée) et peut être géré à l’aide du paramètre Training Data Excluded for Validation (%) (% de données d’entraînement exclues pour la validation). Un des inconvénients de l’erreur OOB est qu’elle utilise un sous-ensemble de la forêt (arbres qui n’ont pas utilisé une entité en particulier dans le jeu de données d’entraînement) et non la forêt dans son intégralité. En excluant une quantité de données aux fins de validation, vous pouvez étudier les mesures d'erreur sur la forêt entière.
Lorsque vous prévoyez une variable continue, la valeur observée pour chacune des entités de test est comparée aux prévisions de ces entités en fonction du modèle préparé. Une valeur R carrée, une valeur p et une erreur standard associées sont ensuite signalées. Ces diagnostics sont modifiés à chaque fois que vous relancez le processus d'entraînement, car le jeu de données de test est sélectionné de manière aléatoire. Pour créer un modèle qui ne change pas à chaque exécution, vous pouvez définir une valeur initiale dans le paramètre d’environnement Random Number Generator (Générateur de nombres aléatoires).
Lorsque vous prédisez une variable catégorielle, la sensibilité et l’exactitude sont signalées dans la fenêtre de messages. Ces diagnostics sont calculés à l’aide d’une matrice de confusion, qui suit chaque instance classée correctement ou incorrectement par la catégorie d’intérêt, et lorsque les autres catégories sont incorrectement classées en tant que catégorie d’intérêt. La sensibilité de chaque catégorie est signalée comme le pourcentage de fois où la prévision des entités d’une catégorie s’est avérée correcte pour cette catégorie. Par exemple, si vous prévoyez Land (Terre) et Water (Eau) et que Land (Terre) présente une sensibilité de 1.00, chaque entité qui doit avoir été signalée dans la catégorie (Terre) a été prévue correctement. Si, toutefois, une entité Water (Eau) a été signalée de manière incorrecte dans la catégorie Land (Terre), cela n’est pas répercuté dans la valeur de sensibilité de la catégorie Land (Terre). Cela est répercuté dans la valeur de sensibilité de la catégorie Water (Eau), car cela indique qu’une des entités aquatiques n’a pas été prévue correctement.
Le diagnostic d’exactitude tient compte de la qualité de prédiction des entités d’une catégorie donnée et de la fréquence à laquelle les autres catégories sont incorrectement classées comme catégorie d’intérêt. Cela permet d’estimer la fréquence à laquelle une catégorie est identifiée correctement, par rapport au nombre total de confusions. Lors de la classification d’une variable comportant deux classes seulement, la mesure d’exactitude est la même pour chaque classe, mais la sensibilité peut être différente. Lors de la classification d’une variable comportant plus de deux classes, la sensibilité et l’exactitude peuvent être différentes d’une classe à l’autre.
Vous pouvez également utiliser ces diagnostics pour comparer des valeurs prévues aux valeurs observées pour un jeu de données d'entraînement. Ces diagnostics peuvent vous aider à mieux comprendre comment le modèle s’ajuste aux données d’entraînement.
Les diagnostics de plage explicative peuvent vous aider à évaluer si les valeurs utilisées pour l’entraînement, la validation et la prévision permettent de générer un modèle adapté et de déterminer si d’autres diagnostics de modèles sont fiables. Les données utilisées pour entraîner un modèle de forêt aléatoire ont un impact important sur la qualité de la classification et des prévisions obtenues. Il est recommandé que les données d’entraînement soient représentatives des données que vous modélisez. Par défaut, 10 pour cent des données d’entraînement sont exclues aléatoirement pour générer un sous-ensemble de données d’entraînement et un sous-ensemble de validation des Input Training Features (Entités d’entraînement en entrée). La table Diagnostics de plage de variables explicatives montre les valeurs minimum et maximum de ces sous-ensembles et, dans le cas de prévision sur des entités ou des rasters, pour les données utilisées pour la prévision.
En raison du caractère aléatoire de la détermination des sous-ensembles, les valeurs des variables appartenant au sous-ensemble d’entraînement peuvent ne pas être représentatives de l’ensemble des valeurs des Input Training Features (Entités d’entraînement en entrée). Pour chaque variable explicative continue, la colonne Part d’entraînement indique le pourcentage de superposition entre les valeurs du sous-ensemble d’entraînement et les valeurs de toutes les entités des Input Training Features (Entités d’entraînement en entrée). Si, par exemple, la variable A des Entités d’entraînement en entrée présente les valeurs 1 à 100 et le sous-ensemble d’entraînement les valeurs 50 à 100, la valeur de part d’entraînement pour la variable A est de 0,50 ou 50 pour cent. Pour la variable A, le sous-ensemble d’entraînement couvre 50 pour cent de la plage de valeurs des Input Training Features (Entités d’entraînement en entrée). Si le sous-ensemble d’entraînement ne couvre pas une plage importante des valeurs présentes dans les Input Training Features (Entités d’entraînement en entrée) pour chaque variable explicative du modèle, d’autres diagnostics de modèle peuvent être faussés. Un calcul similaire est exécuté pour produire le diagnostic Part de validation. Il est important que les valeurs utilisées pour valider le modèle couvrent la plus grande plage possible de valeurs utilisées pour entraîner le modèle. Par exemple, si la variable B du sous-ensemble d’entraînement présente les valeurs 1 à 100 et le sous-ensemble de validation les valeurs 1 à 10, la part de validation pour la variable B est de 0,10 ou 10 pour cent. Il se peut que cette petite plage de valeurs ne contienne que des valeurs basses ou des valeurs élevées et fausse par conséquent d’autres diagnostics. Si le sous-ensemble de validation ne contient que des valeurs basses, d’autres diagnostics de modèle tels que l’erreur quadratique moyenne et le pourcentage de variation expliquée montreraient l’exactitude des prévisions du modèle en ce qui concerne les valeurs basses, mais pas pour l’ensemble de la plage de valeurs des Input Training Features (Entités d’entraînement en entrée).
Le diagnostic Part de prévision est particulièrement important. Les modèles de forêt n’extrapolent pas. Ils peuvent seulement classer ou prévoir en fonction d’une valeur sur laquelle le modèle a été entraîné. La Part de prévision correspond au pourcentage de superposition entre les valeurs des données d’entraînement et les données de prévision. Les valeurs inférieures à zéro indiquent que le modèle n’a pas été entraîné pour la valeur que vous souhaitez prévoir. La valeur 1 indique que la plage de valeurs du sous-ensemble d’entraînement et la plage de valeurs utilisée pour la prévision sont identiques. Une valeur supérieure à 1 indique que la plage de valeurs du sous-ensemble d’entraînement est plus importante que la plage de valeurs utilisée pour la prévision.
Tous les trois partagent des diagnostics uniquement valides si les plages des sous-ensembles coïncident. Par exemple, si le sous-ensemble de validation pour la variable C contient les valeurs 1 à 100 et que le sous-ensemble d’entraînement contient les valeurs 90 à 200, la superposition de ces deux sous-ensembles serait de 10 pour cent, mais leurs plages ne coïncident pas. Dans ce cas, le diagnostic est marqué d’un astérisque pour indiquer les plages non coïncidentes. Examinez les valeurs minimum et maximum pour visualiser l’étendue et la direction des plages non superposées. La part de prévision est marquée du signe Plus (+) si la prévision du modèle se situe en dehors de la plage des données d’entraînement.
Il n’existe pas de règles absolues déterminant les valeurs acceptables pour la table Diagnostics de plage de variables explicatives. La part d’entraînement et la part de validation doivent être les plus élevées possible, en fonction des contraintes de vos données d’entraînement. La part de prévision ne doit pas être inférieure à 1. Si le diagnostic Part de validation est faible, envisagez d’augmenter la valeur du paramètre Training Data Excluded for Validation (%) [% de données d’entraînement exclues pour la validation]. Envisagez également d’exécuter le modèle plusieurs fois et sélectionnez l’exécution qui équilibre les meilleures valeurs des diagnostics de plage. La valeur de départ aléatoire utilisée dans chaque exécution est indiquée dans les messages.
L’outil génère également différentes sorties. Les Output Trained Features (Entités entraînées en sortie) comprendront toutes les Input Training Features (Entités d’entraînement en entrée) et Explanatory Training Variables (Variables d’entraînement explicatives) utilisées dans le modèle. Pour la régression, les entités entraînées s’affichent dans la carte sur la base des résiduels normalisés des prévisions. Pour la classification, la symbologie des entités entraînées dépend de la classification correcte ou non de l’entité. Si la catégorie connue est prévue correctement par le modèle, l’entité reçoit l’étiquette Correctly Classified (Correctement classée) ; dans le cas contraire, l’entité est étiquetée Misclassified (Incorrectement classée).
Les champs des entités entraînées comprennent les valeurs extraites du raster pour chaque variable Explanatory Training Rasters (Rasters d’entraînements explicatifs) et les valeurs de distance calculées pour chaque variable Explanatory Training Distance Features (Entités de distance d’entraînement explicatives). Ces nouveaux champs peuvent être utilisés pour réexécuter la portion d’entraînement de l’analyse sans extraire les valeurs raster ni calculer les valeurs de distance à chaque fois. La valeur Entités formées en sortie contient également les prédictions de toutes les entités, à la fois celles utilisées dans l’entraînement et celles exclues du test, ce qui peut être utile pour évaluer les performances du modèle. Le champ trained_features du paramètre Output Trained Features (Entités entraînées en sortie) présente la valeur zéro pour toutes les données de test (ce qui indique qu’elles n’ont pas été utilisées dans l’entraînement) et la valeur 1 pour toutes les données d’entraînement. Lorsque vous utilisez cet outil pour effectuer une prévision, il génère une nouvelle classe d’entités contenant les valeurs Output Predicted Features (Entités prévues en sortie) ou une nouvelle Output Prediction Surface (Surface de prévision en sortie) si des rasters explicatifs sont fournis.
Options de forêt avancées
La force de la méthode basée sur la forêt réside dans le fait qu’elle capture les points communs des facteurs de prédiction faibles (ou arbres) et qu’elle les associe pour créer un facteur de prédiction puissant (la forêt). La capture répétitive d’une relation entre des arbres particuliers signifie qu’une relation forte dans les données peut être détectée même si le modèle n’est pas complexe. En ajustant les paramètres de la forêt, vous pouvez créer un nombre plus important de prédicteurs faibles, qui vont contribuer à la construction d’un modèle puissant. Pour créer des prédicteurs faibles, il est nécessaire de réduire les informations relatives à chaque arbre. Pour ce faire, vous pouvez associer un petit sous-ensemble d’entités par arbre, un petit nombre de variables par arbre et une faible profondeur d’arbre. Le nombre d’arbres détermine le nombre de facteurs de prévision faibles créés. Plus vos facteurs de prévision (arbres) sont faibles et plus vous avez besoin d’arbres pour créer un modèle fort.
Les options de validation et de préparation avancées suivantes sont disponibles dans l’outil :
- La valeur par défaut de Number of Trees (Nombre d'arbres) est 100. L’augmentation du nombre d’arbres dans le modèle de forêt permet généralement de produire un modèle de prédiction de plus grande exactitude, mais son calcul est plus long.
- Minimum Leaf Size (Taille minimale des feuilles) correspond au nombre minimal d’observations requises pour conserver une feuille (c'est-à-dire le nœud terminal d’un arbre sans fractionnements supplémentaires). La valeur minimale par défaut est de 5 pour la régression et de 1 pour la classification. Si les jeux de données sont très volumineux, plus ces valeurs augmentent, plus le temps d’exécution de l’outil diminue. Pour les feuilles de très petite taille (proches de la valeur minimale définie), les données de votre forêt présenteront du bruit. Pour améliorer la stabilité du modèle, essayez d’augmenter la valeur Minimum Leaf Size (Taille minimale des feuilles).
- Maximum Tree Depth (Profondeur d’arbre maximum) correspond au nombre maximum de fractionnements réalisés sur un arbre. Si vous utilisez une profondeur maximale importante, un plus grand nombre de fractionnements est créé, ce qui peut accroître la probabilité de sur-ajustement du modèle. La valeur par défaut est dynamique ; elle dépend du nombre d'arbres créés et du nombre de variables incluses. Notez qu’un nœud ne peut pas être fractionné une fois qu’il a atteint la valeur Minimum Leaf Size (Taille minimale des feuilles). Lorsque Minimum Leaf Size (Taille minimale des feuilles) et Maximum Tree Depth (Profondeur d’arbre maximum) sont tous deux définis, c'est Minimum Leaf Size (Taille minimale des feuilles) qui est privilégié pour déterminer la profondeur des arbres.
- Le paramètre Data Available per Tree (%) (Données disponibles par arbre [%]) indique le pourcentage des Input Training Features (Entités d'entraînement en entrée) utilisées pour chaque arbre décisionnel. La valeur par défaut est 100 pour cent des données. Chaque arbre décisionnel de la forêt est créé à partir d’un sous-ensemble aléatoire (équivalant approximativement aux deux tiers) des données d'entraînement disponibles. Si un pourcentage plus faible de données est utilisé en entrée pour chaque arbre décisionnel, l’outil s’exécute plus rapidement sur les jeux de données très volumineux.
- Le paramètre Number of Randomly Sampled Variables (Nombre de variables échantillonnées de manière aléatoire) indique le nombre de variables explicatives utilisées pour créer chaque arbre décisionnel. Chaque arbre décisionnel dans la forêt est créé à l’aide d’un sous-ensemble aléatoire des variables explicatives spécifiées. L’augmentation du nombre de variables utilisées dans chaque arbre décisionnel augmente la probabilité de sur-ajustement de votre modèle, en particulier si une ou plusieurs variables dominent. Il est courant (et il s’agit du comportement par défaut de l’outil) d’utiliser la racine carrée du nombre total de variables explicatives (champs, entités de distance et rasters) si le paramètre Variable to Predict (Variable à prévoir) est numérique ; si Variable to Predict (Variable à prévoir) est catégoriel, le nombre total de variables explicatives (champs, entités de distance et rasters) est divisé par 3.
- Le paramètre Training Data Excluded for Validation (%) (% de données d’entraînement exclues pour la validation) indique le pourcentage (entre 10 pour cent et 50 pour cent) des Input Training Features (Entités d’entraînement en entrée) à réserver comme jeu de données de test pour la validation. Le modèle sera formé sans ce sous-ensemble aléatoire de données et les valeurs observées pour ces entités seront comparées aux valeurs prévues afin de valider les performances du modèle. La valeur par défaut est 10 pour cent.
- Lorsque le paramètre Calculate Uncertainty (Calculer l’incertitude) est activé, l’outil calcule un intervalle de prévision de 90 % pour chaque valeur prévisionnelle de Variable to Predict (Variable à prévoir). Lorsque le paramètre Prediction Type (Type de prédiction) est Train only (Préparer uniquement) ou Predict to features (Prévoir des entités), deux champs supplémentaires sont ajoutés à Output Trained Features (Entités formées en sortie) ou Output Predicted Features (Entités prévues en sortie). Ces champs, qui se terminent par _P05 et _P95, représentent les limites supérieure et inférieure de l’intervalle de prévision. Pour toute nouvelle observation, vous pouvez prévoir avec une confiance de 90 pour cent que la valeur de la nouvelle observation se situera dans l’intervalle, en considérant les mêmes variables explicatives. Lorsque l’option Predict to raster (Prévoir un raster) est utilisée, deux rasters représentant les plages supérieure et inférieure de l’intervalle de prédiction sont ajoutés à la fenêtre Contents (Contenu). L’intervalle de prédiction est calculé à l’aide des forêts de régression basée sur un quantile. Dans une forêt de régression basée sur un quantile, plutôt que de conserver la prévision finale depuis la forêt, les valeurs prévues depuis chaque feuille de la forêt sont enregistrées et utilisées pour générer une distribution des valeurs prévues.
Bonnes pratiques
Voici les meilleures pratiques concernant l’utilisation de l’outil Classification et régression basées sur une forêt :
- Le modèle de forêt doit être préparé sur au moins plusieurs centaines d’entités pour obtenir des résultats optimaux. Cet outil ne convient pas pour de très petits jeux de données.
- L’outil peut afficher des performances médiocres lors de tentatives de prévision réalisées avec des variables explicatives situées hors de la plage des variables explicatives utilisées pour entraîner le modèle. Les modèles de forêt n’extrapolent pas. Ils peuvent seulement classer ou prévoir en fonction de la plage de valeurs avec laquelle le modèle a été préparé. Lorsqu’une valeur basée sur des variables explicatives est prévue comme étant très supérieure ou très inférieure à la plage du jeu de données d'entraînement d’origine, cette valeur sera évaluée par le modèle comme étant proche de la valeur la plus élevée ou la plus faible du jeu de données d'origine.
- Pour optimiser les performances lors de l’extraction des valeurs de Explanatory Training Rasters (Rasters d'entraînements explicatifs) et du calcul des distances avec Explanatory Training Distance Features (Entités de distance d’entraînement explicatives), préparez le modèle sur 100 pour cent des données sans exclure les données réservées à la validation, puis choisissez de créer des Output Trained Features (Entités entraînées en sortie). Lors de la prochaine exécution de l’outil, utilisez le paramètre Output Trained Features (Entités entraînées en sortie) comme Input Training Features (Entités d’entraînement en entrée) et utilisez toutes les valeurs et distances extraites comme Explanatory Training Variables (Variables d’entraînement explicatives) au lieu de les extraire chaque fois que vous préparez le modèle. Pour ce faire, définissez les paramètres Nombre d’arbres, Profondeur d’arbre maximum et Nombre de variables échantillonnées de manière aléatoire sur 1 pour créer un arbre d’espace réservé de très petite taille et préparer rapidement vos données pour l’analyse.
Pour des raisons de performance, le paramètre Entités de distance d’entraînement explicatives n’est pas disponible lorsque l’option Prévoir un raster du paramètre Type de prédiction est utilisée. Pour inclure des distances vers des entités en tant que variables explicatives, calculez des rasters de distance à l’aide de l’outil Accumulation de distance et incluez-les dans le paramètre Rasters d’entraînement explicatifs.
- Bien que la valeur par défaut du paramètre Number of Trees (Nombre d’arbres) soit 100, ce nombre n’est pas dynamique. Le nombre d’arbres requis augmente avec la complexité des relations entre les variables explicatives, la taille du jeu de données et la valeur Variable to Predict (Variable à prévoir), en plus de la variation de ces variables.
- Augmentez la valeur Number of Trees (Nombre d’arbres) dans la valeur de forêt et prenez note de l’erreur OOB ou de classification. Il est conseillé de multiplier la valeur Nombre d’arbres par 3 au moins afin d’atteindre un minimum de 500 arbres et de mieux évaluer les performances du modèle.
- La durée d'exécution de l’outil dépend très fortement du nombre de variables utilisées par arbre. L’utilisation d’un faible nombre de variables par arbre réduit la probabilité de sur-ajustement. Toutefois, afin d’optimiser les performances du modèle, veillez à utiliser de nombreux arbres si vous utilisez un petit nombre de variables par arbre.
- Pour créer un modèle qui ne varie pas à chaque exécution, vous pouvez définir une valeur initiale dans le paramètre d'environnement Random Number Generator (Générateur de nombres aléatoires). Le modèle aura toujours un caractère aléatoire, mais celui-ci sera uniforme d'une exécution à l’autre.
Bibliographie
Breiman, Leo. (1996). « Out-Of-Bag Estimation. » Résumé.
Breiman, L. (1996). « Bagging predictors. » Machine learning 24 (2) : 123–140.
Breiman, Leo. (2001). « Random Forests. » Machine Learning 45 (1) : 5-32. https://doi.org/10.1023/A:1010933404324.
Breiman, L., J.H. Friedman, R.A. Olshen, and C.J. Stone. (2017). Classification and regression trees. New York: Routledge. Chapitre 4
Dietterich, T. G. (Juin 2000). « Ensemble methods in machine learning. » Dans International workshop on multiple classifier systems,. 1–15. Springer, Berlin, Heidelberg.
Gini, C. 1912 1955. Variabilità e mutabilità. Reprinted in Memorie di metodologica statistica (eds. E. Pizetti et T. Salvemini). Rome: Libreria Eredi Virgilio Veschi.
Grömping, U. (2009). « Variable importance assessment in regression: linear regression versus random forest. » The American Statistician 63 (4) : 308–319.
Ho, T. K. (Août 1995). « Random decision forests. » Dans Document analysis and recognition, 1995., proceedings of the third international conference on Document Analysis and Recognition Vol. 1 : 278-282. IEEE.
James, G., D. Witten, T. Hastie et R. Tibshirani. (2013). An introduction to statistical learning Vol. 112. New York: springer.
LeBlanc, M. et R. Tibshirani. (1996). « Combining estimates in regression and classification. » Journal of the American Statistical Association 91 (436) : 1641–1650.
Loh, W. Y. et Y. S. Shih. (1997). « Split selection methods for classification trees. » Statistica sinica, 815–840.
Meinshausen, Nicolai. "Quantile regression forests." Journal of Machine Learning Research 7. Jun (2006): 983-999.
Nadeau, C. et Y. Bengio. (2000). « Inference for the generalization error. » Dans Advances in neural information processing systems, 307-313.
Strobl, C., A. L. Boulesteix, T. Kneib, T. Augustin et A. Zeileis. (2008). « Conditional variable importance for random forests. » BMC bioinformatics 9 (1) : 307.
Zhou, Z. H. (2012). « Ensemble methods: foundations and algorithms. » CRC press.
Vous avez un commentaire à formuler concernant cette rubrique ?