L’outil Classification et régression basées sur une forêt et boostées entraîne un modèle en fonction de valeurs connues fournies dans le cadre d’un jeu de données d’entraînement. Le modèle peut être utilisé par la suite pour prévoir des valeurs inconnues dans un jeu de données doté des mêmes variables explicatives associées. L’outil crée des modèles et génère des prévisions à l’aide d’une des deux méthodes de Machine Learning supervisées : une adaptation de l’algorithme des forêts aléatoires mis au point par Leo Breiman et Adele Cutler, et XGBoost, une méthode d’optimisation populaire développée par Tianqi Chen et Carlos Guestrin.
Le modèle basé sur une forêt crée de nombreux arbres décisionnels indépendants, dénommés collectivement ensemble ou forêt. Chaque arbre décisionnel est créé à partir d’un sous-ensemble aléatoire des données d’entraînement et des variables explicatives. Chaque arbre génère sa propre prévision et fait partie d’une structure d’agrégation pour réaliser les prévisions finales. Les prédictions finales ne reposent pas sur un arbre unique, mais sur la forêt entière. Cela permet d’éviter le sur-ajustement du modèle au jeu de données d’entraînement.
Le modèle de gradient boosté crée une série d’arbres décisionnels séquentiels. Chaque arbre décisionnel suivant est conçu pour minimiser l’erreur (déformation) de l’arbre précédent, de sorte que le modèle de gradient boosté combine plusieurs apprenants faibles pour devenir un modèle de prévision performant. Le modèle de gradient boosté intègre la régularisation ainsi que l’arrêt prématuré pour empêcher le sur-ajustement du modèle au jeu de données d’entraînement.
Les deux types de modèles peuvent être construits pour prévoir une variable catégorielle (classification binaire et classification multiclasse) ou une variable continue (régression). Lorsque la variable à prévoir est catégorielle, le modèle qui est construit repose sur des arbres de classification. Lorsqu’elle est continue, le modèle qui est construit repose sur des arbres de régression.
Applications possibles
Les applications possibles de cet outil sont les suivantes :
- Si l’on dispose de données sur la présence de posidonie, de plusieurs variables explicatives environnementales représentées à la fois sous forme d’attributs et de rasters et des distances par rapport aux usines en amont et aux principaux ports, il est possible de prévoir les prochaines implantations de la posidonie d’après les projections futures de ces variables explicatives environnementales.
- Supposons que vous avez des données sur le rendement des récoltes de centaines d’exploitations agricoles dans tout le pays, des données sur les caractéristiques de chaque exploitation (par exemple, le nombre d’employés et la superficie) et plusieurs rasters représentant la pente, l’élévation, les précipitations et la température pour chaque exploitation. En vous appuyant sur ces éléments de données, vous pouvez créer un modèle qui prévoit le rendement des récoltes. Si vous fournissez ensuite le modèle avec un ensemble d’entités représentant les exploitations agricoles avec les mêmes variables explicatives, vous pouvez prévoir le rendement des récoltes pour chaque exploitation.
- 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 bandes individuelles, ainsi que des produits tels que la méthode NDVI, pour classer les types d’utilisation du sol.
- Si vous disposez d’informations sur les niveaux de plomb relevés dans le sang des enfants, de l’identifiant des parcelles fiscales de leurs domiciles, d’attributs au niveau de la parcelle comme l’année de construction d’un logement, de données de recensement tels que les niveaux de revenu et d’éducation et des 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.
Entraîner un modèle
La première étape de l’utilisation de l’outil Classification et régression basées sur une forêt et boostées consiste à entraîner un modèle pour établir des prévisions. L’entraînement vise à créer une forêt ou une séquence d’arbres qui établit une relation entre les variables explicatives et le paramètre Variable à prévoir. Que vous choisissiez l’option Entraînement uniquement, Prévoir des entités ou Prévoir un raster, l’outil commence par construire un modèle en fonction du paramètre Variable à prévoir et de 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).
Variables d’entraînement explicatives
Les autres champs du jeu de données d’entraînement contenant le paramètre Variable à prévoir constituent une source commune de variables explicatives avec lesquelles entraîner le modèle. Que la variable à prévoir soit continue ou catégorielle, chaque champ des valeurs Variables d’entraînement explicatives peut être continu ou catégoriel. Si le modèle entraîné est aussi utilisé pour réaliser des prévisions, chacune des valeurs 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évision.
Entités de distance d’entraînement explicatives
Même si Classification et régression basées sur une forêt et boostées n’est pas un outil de Machine Learning spatial, vous pouvez exploiter la puissance de l’espace dans votre analyse à l’aide des entités de distance. Par exemple, 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évisions. 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 entre les entités fournies et la valeur Entités d’entraînement en entrée. Les distances sont calculées entre chaque entité de la valeur Entités d’entraînement en entrée et l’entité la plus proche de la valeur Entités de distance d’entraînement explicatives en entrée. Si la valeur Entités de distance d’entraînement explicatives en entrée contient 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
Les valeurs Rasters d’entraînement explicatifs peuvent également servir à entraîner le modèle. Cela vous permet d’utiliser l’imagerie, les MNE, les modèles de densité de la population, les mesures environnementales et bien d’autres sources de données dans le modèle. Que vous choisissiez de prévoir une variable continue ou catégorielle, chacune des valeurs Rasters d’entraînement explicatifs peut être continue ou catégorielle. Le paramètre Rasters d’entraînement explicatifs est uniquement disponible si vous possédez une licence Spatial Analyst.
Si les entités dans la valeur Entités d’entraînement en entrée sont des points et que vous avez spécifié une valeur Rasters d’entraînement explicatifs, l’outil explore chaque localisation 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. Si votre valeur Entités d’entraînement en entrée contient des polygones, que la valeur Variable à prévoir est catégorielle et que vous avez spécifié une valeur Rasters d’entraînement explicatifs, le paramètre Convertir les polygones en résolution raster pour l’entraînement est activé. Lorsque cette option est activée, chaque polygone est divisé en points au centroïde de chaque cellule raster dont le centroïde est situé dans le polygone. Les polygones sont traités 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 le paramètre Convertir les polygones en résolution raster pour l’entraînement n’est pas sélectionné, une valeur raster est utilisée pour chaque polygone du modèle. Chaque polygone se voit attribuer la valeur moyenne pour les rasters continus et la majorité pour les rasters catégoriels.
Prévoir à l’aide d’un modèle
Il est recommandé de commencer avec l’option Train only (Entraînement 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. Vous pouvez utiliser l’outil pour trouver le meilleur modèle. Cochez la case Optimiser le paramètre et sélectionnez une option Modèle d’optimisation.
En savoir plus sur l’optimisation des paramètres
Lorsque vous réalisez une prévision, il est recommandé de régler le paramètre Données d’entraînement exclues pour la validation (%) sur 0 pour cent de manière à inclure toutes les données d’entraînement disponibles dans le modèle final utilisé pour réaliser des prévisions. Pour réaliser des prédictions, vous pouvez procéder comme suit :
Prévoir 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). L’étendue des entités doit être superposée à l’étendue des valeurs Entités de distance d’entraînement explicatives et Rasters d’entraînement explicatifs.
Lorsque vous effectuez une prévision sur un raster dans la même zone d’étude avec la valeur Rasters d’entraînement explicatifs fournie, l’étendue du raster de prévision sera l’étendue superposée de tous les rasters explicatifs.
Prévoir 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), les entités de distance explicatives et les rasters explicatifs. Ces nouveaux rasters et entités de distance doivent être disponibles dans la nouvelle zone d’étude et correspondre aux valeurs Entités de distance d’entraînement explicatives et Rasters d’entraînement explicatifs.
Lorsque vous effectuez 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 leur valeur Rasters d’entraînement explicatifs correspondante. L’étendue de la valeur Raster de prévision en sortie obtenue sera l’étendue superposée de tous les rasters de prévision explicatifs fournis.
Prévoir 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.
L’outil Classification et régression basées sur une forêt et boostées n’extrapole pas, de sorte que les champs des variables explicatives, les entités de distance et les rasters explicatifs correspondants dans la valeur Entités de prévision en entrée ne peuvent pas avoir une plage de valeurs ou des catégories radicalement différentes de celles utilisées pour entraîner le modèle.
Prévoir des entités
Un modèle qui a été entraîné avec une combinaison de valeurs de paramètre Variables d’entraînement explicatives, Entités de distance d’entraînement explicatives et Rasters d’entraînement explicatifs permet de prévoir des points ou des polygones, qu’ils appartiennent à la même zone d’étude ou à des zones d’études différentes. Pour effectuer une prévision sur des entités, toute entité recevant une prévision doit posséder une valeur pour chaque champ, entité de distance et raster utilisés pour entraîner le modèle.
Si les noms de champ dans les valeurs Entités d’entraînement en entrée et Entités de prévision en entrée ne concordent pas, un paramètre Apparier les variables explicatives est activé. Lors de l’appariement de variables explicatives, les valeurs de paramètre Prévision et Entraînement doivent être de même type. Par exemple, un champ double dans la valeur Entités d’entraînement en entrée doit être apparié à un champ double dans la valeur Entités de prévision en entrée. Si vous effectuez une prévision dans une zone d’étude ou une période différente, vous pouvez utiliser des rasters ou entités de distance qui n’ont pas été utilisés pour entraîner le modèle. Les paramètres Apparier les entités de distance et Apparier les rasters explicatifs seront activés.
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. Si vous effectuez une prévision dans une zone d’étude ou sur une période, vous pouvez utiliser des rasters de prévision qui n’ont pas été utilisés pour entraîner le modèle. Un paramètre Apparier les rasters explicatifs sera activé. Vous pouvez créer un attribut Raster de prévision en sortie avec une licence Spatial Analyst en sélectionnant l’option Prévoir un raster en guise de valeur de paramètre Type de prévision.
Évaluer un modèle
Vous pouvez évaluer le modèle créé par cet outil. Cet outil crée des messages et des diagrammes pour vous aider à comprendre les caractéristiques du modèle et à évaluer ses performances.
Messages de géotraitement
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 cet outil via l’historique de géotraitement. Les messages incluent des informations sur les caractéristiques de votre modèle, les erreurs OOB, l’importance des variables, les diagnostics d’entraînement et de validation et les diagnostics sur la plage des variables explicatives.
Table des caractéristiques du modèle
La table Caractéristiques du modèle contient des informations sur plusieurs aspects importants de votre modèle de forêt ou boosté, dont certains sont sélectionnés à l’aide des paramètres du menu déroulant Options de modèle avancées et dont d’autres sont dynamiques. Il est important de comprendre les caractéristiques dynamiques du modèle pour optimiser ses performances. La valeur Étendue de profondeur des arbres signale la profondeur d’arbre minimale et maximale détectée dans la forêt ou la séquence d’arbres. La profondeur maximale est définie par le paramètre Profondeur d’arbre maximale. Il est toutefois possible de déterminer des profondeurs inférieures à la valeur maximale. La valeur Profondeur d’arbre moyenne représente la profondeur moyenne des arbres dans la forêt ou la séquence d’arbres. Si le paramètre Profondeur d’arbre maximale a été défini sur 100, mais que les valeurs Étendue de profondeur des arbres et Profondeur d’arbre moyenne représentent des nombres inférieurs, configurer une profondeur d’arbre maximale inférieure peut améliorer les performances du modèle, car cela réduit le risque de sur-ajustement du modèle aux données d’entraînement. La valeur Nombre de variables échantillonnées de manière aléatoire représente le nombre de variables sélectionnées de manière aléatoire qui sont utilisées pour un arbre donné dans le modèle. Chaque arbre possède une combinaison de variables distincte, mais le même nombre de variables. Par défaut, le nombre 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. Si le paramètre Type de modèle est spécifié comme Basée sur une forêt, la table Caractéristiques du modèle inclut les valeurs Nombre d’arbres, Taille des feuilles, Étendue de profondeur des arbres, Profondeur d’arbre moyenne, % d’entraînement disponible par arbre, Nombre de variables échantillonnées de manière aléatoire et % de données d’entraînement exclues pour la validation. Si le paramètre Type de modèle est spécifié comme Gradient boosté, quatre valeurs supplémentaires sont répertoriées dans la table : Régularisation L2 (Lambda), Réduction de perte minimale pour les divisions (Gamma), Vitesse d’apprentissage (Eta) et Nombre maximal de groupes pour la recherche de divisions.
Table d’erreurs OOB du modèle
Si le paramètre Type de modèle est spécifié comme Basée sur une forêt, les messages de géotraitement incluent une table d’erreurs OOB du modèle. Les erreurs OOB vous aident à évaluer l’exactitude du modèle. Les valeurs Erreur quadratique moyenne (EQM) et % de variation expliquée reposent toutes les deux sur la capacité du modèle à prévoir avec exactitude la valeur 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 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 variable à prévoir est catégorielle (cela est indiqué par la valeur du paramètre 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 indiqué 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 la valeur Nombre d’arbres est faible, il est possible qu’une ou plusieurs catégories ne seront jamais utilisées pour entraîner les données. Dans ce cas, l’erreur OOB est 100 pour cent.
Table d’importance des variables principales
Les variables explicatives utilisées impactent également les performances du modèle. La table Importance des variables principales répertorie les variables explicatives avec les 20 principaux scores d’importance. L’importance des variables est un diagnostic qui vous aide à comprendre quelles variables génèrent les résultats du modèle. Il est conseillé d’utiliser d’abord toutes les données pour l’entraînement et d’explorer le niveau d’importance de chaque variable explicative. Vous pouvez ensuite utiliser l’importance des variables pour créer un modèle plus simple (parcimonieux) contenant uniquement les variables explicatives considérées comme pertinentes.
Lorsque la valeur du paramètre Type de modèle est Basée sur une forêt, 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’une division et à l’impact de cette dernière, divisé par le nombre d’arbres. Chaque division correspond à une décision individuelle dans un arbre décisionnel.
Lorsque la valeur du paramètre Type de modèle est Gradient boosté, l’importance des variables est calculée de trois manières différentes : Importance (Gain), Importance (Pondération) et Importance (Couverture). Importance (Gain) représente la contribution relative d’une variable explicative par rapport au modèle. La valeur Importance (Gain) est calculée en additionnant le gain de toutes les divisions où une variable explicative est utilisée. Importance (Pondération) représente le nombre de fois où une variable explicative est utilisée sur toutes les divisions. Importance (Couverture) représente le nombre d’observations sur tous les arbres définis par une variable explicative. La valeur Importance (Couverture) n’est pas répertoriée dans les messages de géotraitement. Cependant, si le paramètre Table de l’importance des variables en sortie est spécifié, Importance (Couverture) constituera un champ de la table et peut dans ce cas être affiché dans le diagramme Récapitulatif de l’importance des variables. Ces deux sorties sont accessibles depuis la fenêtre Contenu. Si la valeur Nombre d’exécutions pour la validation est supérieure à 1, l’outil calcule l’ensemble de valeurs d’importance des variables pour chaque itération. Les messages de géotraitement répertorient l’ensemble de valeurs d’importance des variables de l’itération avec une exactitude ou un R-carré le plus proche de l’exactitude ou du R-carré médian. Pour examiner tous les ensembles de valeurs d’importance des variables, spécifiez une valeur pour le paramètre Table de l’importance des variables en sortie.
Diagnostic des données d’entraînement et de validation
Vous pouvez également prévoir les performances du modèle en utilisant ce dernier pour prévoir la valeur des entités, puis en comparant ces valeurs prévues avec les valeurs observées avant de calculer les diagnostics. Cette opération s’effectue sur les données d’entraînement et les données de test (validation). Par défaut, l’outil exclut 10 pour cent des entités dans la valeur Entités d’entraînement en entrée pour le test. Vous pouvez contrôler cette exclusion à l’aide du paramètre % 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 certaines données pour la validation, vous pouvez évaluer les métriques d’erreur pour le modèle entier. Les messages de géotraitement signalent les diagnostics dans la table de diagnostic des données de validation et dans la table de diagnostic des données d’entraînement. Ces diagnostics peuvent vous aider à comprendre comment le modèle s’ajuste aux données.
Lorsque vous prévoyez une variable continue, la valeur observée pour chacune des entités d’entraînement et des entités de test est comparée aux prévisions de ces entités en fonction du modèle entraîné et les valeurs R-carré, Erreur absolue moyenne (MAE), Erreur absolue moyenne en pourcentage (MAPE), Erreur absolue moyenne symétrique en pourcentage (SMAPE), Erreur quadratique moyenne (EQM), valeur p et Erreur type associées sont signalées dans les messages de géotraitement. Ces diagnostics sont modifiés chaque fois que vous relancez le processus d’entraînement, car le jeu de données d’entraînement et 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 Générateur de nombres aléatoires.
Lorsque vous prévoyez une variable catégorielle, les valeurs Sensibilité, Exactitude, Score F1 et MCC sont signalées dans les messages de géotraitement. Ces diagnostics sont calculés à l’aide de la table spécifiée par le paramètre Table des performances de classification en sortie (Matrice de confusion), qui suit le nombre de fois où une catégorie d’intérêt est classée correctement ou incorrectement et le nombre de fois où 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 sera 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é classée 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 d’observations pour cette catégorie. 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.
Diagnostic | Description | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
R-carré | R-Carré est une mesure de la qualité de l’ajustement. Il s’agit de la proportion de variance de la variable dépendante prise en compte par le modèle de régression. La valeur varie entre 0,0 et 1,0. Une valeur élevée désigne un modèle de meilleure qualité. L’augmentation du nombre de variables explicatives entraine toujours une augmentation de la valeur R2. Il est possible que l’augmentation ne reflète pas une amélioration de l’ajustement du modèle, mais plutôt le mode de calcul de la valeur R2. | |||||||||||||||||||||||||
Erreur absolue moyenne (MAE) | L’erreur absolue moyenne de la différence absolue entre les valeurs réelles et les valeurs prévues du paramètre Variable d’intérêt. La valeur 0 implique que le modèle a correctement prévu chaque valeur observée. L’erreur absolue moyenne étant indiquée dans les unités de la variable d’intérêt, elle ne peut pas être comparée entre différents modèles. | |||||||||||||||||||||||||
Erreur absolue moyenne en pourcentage (MAPE) | L’erreur absolue moyenne en pourcentage est similaire à l’erreur absolue moyenne ; elle représente la différence entre les valeurs réelles et les valeurs prévues. Toutefois, tandis que MAE représente la différence dans les unités d’origine, MAPE représente la différence en pourcentage. MAPE étant une erreur relative, elle constitue un meilleur diagnostic pour comparer différents modèles. En raison du mode de calcul de l’erreur MAPE, elle ne peut pas être utilisée si l’une des valeurs réelles est égale à 0. Si les valeurs réelles sont proches de 0, MAPE va à l’infini. Une autre limitation de MAPE est qu’elle est asymétrique. Par exemple, si la différence entre les valeurs réelles et les valeurs prévues est la même dans deux cas, le cas où la valeur réelle est inférieure impacte davantage l’erreur MAPE. | |||||||||||||||||||||||||
Erreur absolue moyenne symétrique en pourcentage (SMAPE) | Comme MAPE, SMAPE représente la différence entre les valeurs réelles et les valeurs prévues en pourcentage, mais SMAPE résout le problème d’asymétrie dans son calcul. | |||||||||||||||||||||||||
Erreur quadratique moyenne (EQM) | RMSE est la racine carrée de l’erreur quadratique moyenne (EQM), qui est la racine carrée de la différence carrée moyennée entre les valeurs réelles et les valeurs prévues. Comme MAE, RMSE représente l’erreur moyenne de prévision du modèle dans les unités de la variable d’intérêt. Cependant, RMSE est plus sensible aux erreurs importantes. Pour éviter que le modèle comporte une différence importante entre les valeurs réelles et les valeurs prévues, vous pouvez utiliser RMSE pour l’évaluer. | |||||||||||||||||||||||||
valeur de p | La valeur p est une mesure statistique utilisée pour valider une hypothèse selon laquelle les observations ne sont pas corrélées aux prévisions. Lorsque la valeur p est inférieure à 0,05, la corrélation entre les observations et les prévisions est importante. | |||||||||||||||||||||||||
Erreur type | Il s’agit de l’erreur type de la pente de régression. Elle représente l’écart entre les valeurs observées et les valeurs prévues en moyenne. | |||||||||||||||||||||||||
Score F1 | Le score F1 est une mesure des performances du modèle. Sa valeur est comprise entre 0 et 1 et est calculée pour chaque classe. Plus le score F1 est élevé, meilleur est le modèle. Le score F1 de toutes les classes (macro score F1) est la moyenne des scores F1 de chaque classe. Si le nombre d’entités dans chaque classe est inégal, alors le score F1 est une métrique mieux adaptée que l’exactitude pour évaluer le modèle. Le score F1 optimise la précision et le rappel. La précision est calculée en divisant le nombre de fois où une catégorie d’intérêt a été classée correctement par le nombre total de fois où la catégorie d’intérêt a été prévue. Le rappel est calculé en divisant le nombre de fois où une catégorie d’intérêt a été classée correctement par le nombre d’entités au sein de cette catégorie. Le score F1 est ensuite calculé comme suit : Dans le tableau suivant, la classe A a été correctement classée 25 fois et prévue 30 fois (25 + 4 + 1), donc la précision de la classe A est de 25/30. La classe A contient 25 entités (25 + 0 + 0), donc le rappel de la classe A est de 25/25. Le score F1 de la classe A est de 0,909.
| |||||||||||||||||||||||||
MCC | Tout comme le score F1, MCC synthétise la matrice de confusion à l’aide d’une valeur comprise entre -1 et 1. La valeur -1 implique que le modèle a incorrectement classé chaque entité et la valeur 1 indique que le modèle a correctement classé chaque entité. MCC diffère du score F1 car cette valeur tient également compte du nombre de fois où la catégorie ne présentant pas d’intérêt a été prévue, de sorte que la valeur MCC est élevée uniquement lorsque le modèle obtient de bonnes performances sur la catégorie d’intérêt et sur la catégorie ne présentant pas d’intérêt. | |||||||||||||||||||||||||
Sensibilité | La sensibilité correspond au pourcentage de prévision correcte des entités d’une catégorie observée pour cette catégorie. La sensibilité se calcule en divisant le nombre de fois où une classe d’intérêt a été classée correctement par le nombre d’entités au sein de cette classe. Dans le tableau suivant, la classe A a été correctement prévue 25 fois et la classe A contient 25 entités (25 + 0 + 0), donc la sensibilité de la classe A est de 25/25.
| |||||||||||||||||||||||||
Précision | L’exactitude correspond au nombre de fois où une catégorie est identifiée correctement, par rapport au nombre total d’observations pour cette catégorie. L’exactitude tient compte de la qualité de prévision des entités d’une catégorie donnée et de la fréquence à laquelle les autres catégories sont correctement identifiées comme étant différentes de la catégorie d’intérêt. L’exactitude se calcule comme suit : où TP correspond à Vrai positif, TN à Vrai négatif, FP à Faux positif et FN à Faux négatif. Dans le tableau suivant, pour la classe A, TP est égal à 25, TN est égal à 45 (19 + 3 + 2 + 21), FP est égal à 5 (4 + 1) et FN est égal à 0 (0 + 0). L’exactitude de la classe A est égale à 70/(25 + 45 + 5 + 0) = 0,93. L’exactitude de toutes les classes est égale à (25 + 19 + 21)/75 = 0,866.
|
Table Diagnostics de plage de variables explicatives
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 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 entités dans la valeur Entités d’entraînement en entrée sont exclues pour la validation. Cela génère un jeu de données d’entraînement et un jeu de données de validation. La table Diagnostics de plage de variables explicatives montre les valeurs minimales et maximales de ces jeux de données et, dans le cas de prévision sur des entités ou des rasters, des 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 dans la valeur Entités d’entraînement en entrée. Pour chaque variable explicative continue, la colonne Entraînement dans le groupe Partager indique le pourcentage de superposition entre la plage de valeurs du sous-ensemble d’entraînement et la plage de valeurs de toutes les entités dans la valeur Entités d’entraînement en entrée. Si, par exemple, la variable A de la valeur 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 la variable A dans la colonne Entraînement dans le groupe Partager est de 0,50 ou 50 pour cent. Pour la variable A, le sous-ensemble d’entraînement inclut 50 pour cent de la plage de valeurs du paramètre 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 le paramètre 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 la colonne Validation dans le groupe Partager de la table. Il est important que la plage de valeurs utilisée pour valider le modèle couvre 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 que le sous-ensemble de validation les valeurs 1 à 10, la colonne Validation dans le groupe Partager 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 dans Entités d’entraînement en entrée. De plus, une valeur supérieure à 1 indique que la plage des valeurs utilisées pour la validation est plus importante que la plage des valeurs utilisées dans le sous-ensemble d’entraînement. Le diagnostic de validation est dans ce cas de faible qualité parce que les algorithmes de forêt aléatoire et de gradient boosté extrême ne peuvent pas extrapoler.
La colonne Prévision dans le groupe Partager de la table Diagnostics de plage de variables explicatives est particulièrement importante. Les modèles de type Basée sur une forêt et Gradient boosté n’extrapolent pas. Ils peuvent seulement classer ou prévoir en fonction d’une valeur dans la plage sur laquelle le modèle a été entraîné. La colonne Prévision dans le groupe Partager correspond au pourcentage de superposition entre la plage de valeurs des données d’entraînement et la plage de valeurs dans les données de prévision. 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 des valeurs utilisées pour la prévision est plus importante que la plage des valeurs utilisées dans le sous-ensemble d’entraînement. Elle indique également que le modèle n’a pas été entraîné pour la valeur que vous souhaitez prévoir.
Les trois diagnostics de partage sont valides uniquement 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 colonne Prévision dans le groupe Partager est marquée d’un 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. Les valeurs de la colonne Entraînement et de la colonne Validation dans le groupe Partager doivent être les plus élevées possible, en fonction des contraintes de vos données d’entraînement. Si la valeur de la colonne Validation dans le groupe Partager est faible, envisagez d’augmenter la valeur du paramètre Données d’entraînement exclues pour la validation (%). La valeur de la colonne Prévision dans le groupe Partager doit être aussi proche de 1 que possible. Si la valeur de la colonne Prévision dans le groupe Partager est faible, envisagez de réduire la valeur du paramètre 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.
Sorties supplémentaires
L’outil Classification et régression basées sur une forêt et boostées produit également divers diagrammes, tables et sorties.
Entités entraînées en sortie
La valeur Entités entraînées en sortie contient toutes les valeurs Entités d’entraînement en entrée, notamment le jeu de données d’entraînement et le jeu de données de test (de validation), les valeurs Variables d’entraînement explicatives utilisées dans le modèle et les valeurs prévues. Si la variable à prévoir est continue, la sortie contient une valeur Résidus et un champ Résidus standardisés. Si la variable à prévoir est catégorielle, la sortie contient un champ Correctement classé. Si la catégorie connue est prévue correctement par le modèle, l’entité reçoit l’étiquette Correctement classé. Dans le cas contraire, l’entité est étiquetée Incorrectement classé. Pour les modèles de régression, les entités entraînées sont symbolisées par les résidus standardisé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é.
Les champs des entités entraînées en sortie comprennent les valeurs raster extraites pour chaque variable Rasters d’entraînements explicatifs et les valeurs de distance calculées pour chaque variable 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 entraînées en sortie contient également les prévisions de toutes les entités, y compris celles utilisées pour l’entraînement et celles exclues du test. Cela peut être utile pour évaluer les performances du modèle. Le champ trained_features dans la valeur Entités entraînées en sortie indique si une entité a été ou non utilisée pour l’entraînement.
La valeur Entités entraînées en sortie contiendra les diagrammes suivants si la variable à prévoir est catégorielle :
- Performances de prévision : diagramme à barres empilées. Chaque barre représente la catégorie prévue et la couleur des barres secondaires reflète la catégorie réelle. La taille des barres secondaires reflète la proportion des entités avec une classe réelle donnée qui se trouvent dans une classe prévue. Par exemple, la barre de droite indique que sur les entités prévues comme appartenant à l’espèce 2, 5,66 % faisaient en réalité partie de l’espèce 1.
- Matrice de confusion : diagramme de densité matriciel. L’axe x représente la catégorie prévue des entités indiquées dans la valeur Entités d’entraînement en entrée et l’axe y leur catégorie réelle. Les cellules en diagonale indiquent le nombre de prévisions correctes de catégorie effectuées par le modèle. Des nombres plus élevés dans les cellules en diagonale indiquent de bonnes performances de la part du modèle. Ce diagramme est généré uniquement si le paramètre Traiter la variable comme catégorielle est sélectionné.
Notez que les deux diagrammes contiennent les données d’entraînement et de test. Pour évaluer le niveau d’ajustement du modèle aux données d’entraînement, sélectionnez les entités dans lesquelles le champ trained_features est égal à 1 et regénérez ce diagramme. Pour évaluer le niveau de performances du modèle avec les données de test, sélectionnez les entités dans lesquelles le champ trained_features est égal à 0 et regénérez ce diagramme.
Table de l’importance des variables en sortie
La valeur Table de l’importance des variables en sortie contient les variables explicatives utilisées dans le modèle et leur importance.
Si vous spécifiez une valeur pour le paramètre Table de l’importance des variables en sortie et que la valeur Nombre d’exécutions pour la validation est égale à 1, l’outil génère également un diagramme Récapitulatif de l’importance des variables. Si la valeur du paramètre Type de modèle est l’option Basée sur une forêt, le diagramme affiche les variables utilisées dans le modèle sur l’axe y et leur importance selon le coefficient de Gini sur l’axe x. Si la valeur du paramètre Type de modèle est l’option Gradient boosté, l’importance affichée sur l’axe x repose sur des valeurs de gain. Les variables explicatives sont affichées selon leur ordre décroissant d’importance (du haut vers le bas).
Si vous spécifiez une valeur pour le paramètre Table de l’importance des variables en sortie et que la valeur Nombre d’exécutions pour la validation est supérieure à 1, la valeur Table de l’importance des variables en sortie contient l’importance de chaque variable explicative pour chaque exécution et marque l’itération avec l’exactitude la plus élevée ou R2. L’ensemble d’importance des variables qui est indiqué dans les messages de géotraitement n’est pas celui qui présente l’exactitude ou le R-carré le mieux adapté, mais l’ensemble avec une exactitude ou un R2 le plus proche de l’exactitude ou du R2 médian.
En outre, si la valeur Nombre d’exécutions pour la validation est supérieure à 1, l’outil génère un diagramme Distribution de l’importance des variables. Utilisez la boîte à moustaches pour évaluer l’évolution de l’importance des variables entre différentes exécutions.
La boîte à moustaches présente la distribution des valeurs d’importance des variables au cours de toutes les exécutions de validation. La distribution de l’importance des variables est un indicateur de la stabilité du modèle entraîné. Si l’importance d’une variable change largement au cours des exécutions de la validation, cela peut indiquer une instabilité du modèle. Un modèle instable peut souvent être amélioré en augmentant la valeur du paramètre Nombre d’arbres pour saisir des relations plus complexes dans les données.
Table des performances de classification en sortie (Matrice de confusion)
Si la variable à prévoir est catégorielle, le paramètre Table des performances de classification en sortie (Matrice de confusion) est disponible. Cette table inclut toutes les entités de la valeur Entités d’entraînement en entrée exclues pour la validation. Chaque ligne représente la catégorie réelle et chaque colonne représente la catégorie prévue. La table illustre le nombre de vrais positifs (TP), de vrais négatifs (TN), de faux positifs (FP) et de faux négatifs (FN) dans chaque catégorie, ce qui nous permet de calculer plusieurs diagnostics de classification, tels que l’exactitude et la sensibilité.
Prévisions en sortie
Si vous utilisez cet outil pour prévoir des entités, la valeur Entités prévues en sortie spécifiée sera une classe d’entités avec la valeur prévue du modèle pour chaque entité. Si vous prévoyez un raster, la valeur Surface de prévision en sortie sera un raster en sortie avec les résultats de la prévision.
Options de modèle avancées
Une des forces de la méthode Basée sur une forêt réside dans le fait qu’elle capture les points communs des facteurs de prévision faibles (ou arbres). 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. Une autre force des modèles de type Basée sur une forêt et Gradient boosté est qu’ils associent les facteurs de prédiction faibles (arbres indépendants ou séquence d’arbres) pour créer un facteur de prévision puissant. En ajustant les paramètres du modèle, vous pouvez créer un nombre plus important de facteurs de prévision 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. À cet effet, vous pouvez utiliser un sous-ensemble plus petit d’entités par arbre, un nombre plus petit de variables par arbre, une profondeur d’arbre faible ou une combinaison de ces possibilités. 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 d’entraînement avancées suivantes sont disponibles dans l’outil :
- La valeur par défaut du paramètre Nombre d’arbres est de 100. L’augmentation du nombre d’arbres dans le modèle de type Basée sur une forêt ou Gradient boosté permet généralement de produire un modèle de prévision plus exact, mais son calcul est plus long. Si la valeur du paramètre Nombre d’arbres est égale à 0, le modèle n’est pas créé et la valeur Entités entraînées en sortie contient uniquement les entités de la valeur Entités d’entraînement en entrée et la valeur Variables d’entraînement explicatives fournie.
- 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). La valeur 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 la valeur Taille minimale des feuilles augmente, plus le temps d’exécution de l’outil diminue. Si la valeur Taille minimale des feuilles est petite (proche de la valeur minimale), les données de votre modèle risquent de présenter du bruit. Pour obtenir un modèle plus stable, essayez d’augmenter la valeur Taille minimale des feuilles.
- Profondeur d’arbre maximale correspond au nombre maximal de divisions réalisées 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 du modèle basé sur une forêt est dynamique et dépend du nombre d’arbres créés et du nombre de variables incluses. La valeur par défaut du modèle de type Gradient boosté est égale à 6. Avec le modèle de type Gradient boosté, nous vous conseillons d’utiliser une valeur Profondeur d’arbre maximale plus petite. Notez qu’un nœud ne peut pas être divisé une fois qu’il a atteint la valeur Taille minimale des feuilles. Lorsque les valeurs des deux paramètres Taille minimale des feuilles et Profondeur d’arbre maximale sont définies, la valeur Taille minimale des feuilles est privilégiée pour déterminer la profondeur des arbres.
- Le paramètre Données disponibles par arbre (%) indique le pourcentage d’entités dans la valeur Entités d’entraînement en entrée qui seront utilisées pour chaque arbre décisionnel. La valeur par défaut est 100 pour cent des données. Chaque arbre décisionnel du modèle est créé à l’aide 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 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 du modèle 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 la valeur Variable à prévoir est un champ numérique. Si la variable à prévoir est catégorielle, le nombre total de variables explicatives (champs, entités de distance et rasters) est divisé par 3.
- Lorsque la valeur du paramètre Type de modèle est l’option Gradient boosté, les paramètres suivants sont disponibles dans la catégorie de paramètre Options de modèle avancées.
- Régularisation L2 (Lambda) : terme de régularisation qui réduit la sensibilité du modèle aux entités individuelles. Si cette valeur augmente, le modèle devient plus conservateur et empêche le sur-ajustement. La valeur par défaut est 1. Si la valeur est égale à 0, le modèle devient le boosting de gradient traditionnel.
- Réduction de perte minimale pour les divisions (Gamma) : seuil de réduction de perte minimale requis pour diviser les arbres. Si la réduction de perte d’une division candidate est plus élevée que cette valeur, la partition a lieu. Une valeur Réduction de perte minimale pour les divisions (Gamma) plus élevée empêche les arbres de devenir trop profonds et de sur-ajuster le modèle aux données d’entraînement. La valeur par défaut est 0.
- Vitesse d’apprentissage (Eta) : valeur qui réduit la contribution de chaque arbre à la prévision finale. Une valeur de vitesse d’apprentissage plus faible empêche le sur-ajustement du modèle, mais peut entraîner des temps de calcul plus longs.La valeur par défaut est de 0,3. Un nombre supérieur à 0, mais inférieur à 1 est autorisé.
- Nombre maximal de groupes pour la recherche de divisions : définit le nombre de groupes dans lesquels rassembler les données pour rechercher des points de division. La valeur par défaut est de 0. Cela correspond à l’utilisation d’un algorithme glouton, ce qui crée des divisions candidates à tous les points de données. Le calcul d’un algorithme glouton peut être plus long. Une valeur Nombre maximal de groupes pour la recherche de divisions plus petite indique que les données seront divisées en un nombre moins important d’intervalles, ce qui entraîne un nombre moindre de divisions à tester. Le temps de calcul des valeurs faibles peut être plus rapide, au détriment des performances de prévision. Une valeur plus élevée indique que les données seront divisées en un nombre plus important de groupes, ce qui entraîne un nombre accru de divisions à tester. Les valeurs plus élevées peuvent améliorer le modèle, au détriment du temps de calcul. La valeur 1 n’est pas autorisée.
- Le paramètre % de données d’entraînement exclues pour la validation indique le pourcentage (entre 10 pour cent et 50 pour cent) de la valeur Entités d’entraînement en entrée à réserver comme jeu de données de test pour la validation. Le modèle sera entraîné 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.
- Le paramètre Calculer l’incertitude est disponible uniquement lorsque la valeur du paramètre Type de modèle est l’option Basée sur une forêt et que la variable à prévoir n’est pas catégorielle. Lorsque le paramètre Calculer l’incertitude est activé, l’outil calcule un intervalle de prévision de 90 % autour de chaque valeur prévue. Lorsque le paramètre Type de prévision est l’option Entraînement uniquement ou Prévoir des entités, deux champs supplémentaires sont ajoutés à la valeur Entités entraînées en sortie ou à la valeur Entités prévues en sortie. Ces champs 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 vous prévoyez un raster, deux rasters représentant les limites supérieure et inférieure de l’intervalle de prévision sont ajoutés à la fenêtre 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, 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, au lieu de conserver simplement la prévision finale depuis la forêt.
Optimisation des paramètres
Les modèles de type Basée sur une forêt et Gradient boosté comportent plusieurs hyperparamètres permettant d’affiner le modèle. Toutefois, il peut parfois être difficile de choisir la valeur la plus appropriée à chaque hyperparamètre pour un jeu de données en particulier. L’outil Classification et régression basées sur une forêt et boostées propose plusieurs méthodes d’optimisation qui testent différentes combinaisons de valeurs des hyperparamètres afin de trouver le jeu d’hyperparamètres le plus performant. Si vous n’êtes pas certain de la valeur à utiliser pour un hyperparamètre, utilisez une méthode d’optimisation. Il existe trois méthodes d’optimisation : Recherche aléatoire (Rapide), Recherche aléatoire (Robuste) et Recherche dans la grille.
Pour utiliser l’optimisation des paramètres, cochez la case Optimiser le paramètre et sélectionnez une option Modèle d’optimisation. Par défaut, la valeur du paramètre Modèle d’optimisation est l’option Recherche aléatoire (Rapide). L’outil fournit également plusieurs options pour la fonction Objectif qui est utilisée pour évaluer les performances du modèle avec un jeu donné d’hyperparamètres. Si la variable à prévoir n’est pas catégorielle, le paramètre Optimiser la cible (Objectif) inclut deux options : R-carré et EQM. L’option par défaut est R-carré. Si la variable à prévoir est catégorielle, les options sont notamment : Exactitude, Coefficient de corrélation de Matthews (MCC) et Score F1. L’option par défaut est Exactitude. Le paramètre Réglage des paramètres de modèle définit la limite supérieure, la limite inférieure et l’intervalle qui détermine l’espace de recherche d’un hyperparamètre. Si la valeur du paramètre Modèle d’optimisation est Recherche dans la grille, l’outil recherche tous les points de recherche dans l’espace de recherche et choisit le jeu d’hyperparamètres présentant les meilleures performances. Si la valeur du paramètre Modèle d’optimisation est Recherche aléatoire (Rapide) ou Recherche aléatoire (Robuste), le paramètre Nombre d’exécutions pour les jeux de paramètres est activé. Il servira pour choisir le nombre de points de recherche au sein de l’espace de recherche qui seront recherchés. Pour chaque point de recherche, la méthode Recherche aléatoire (Robuste) crée un modèle à l’aide de 10 valeurs initiales aléatoires différentes, choisit le jeu d’hyperparamètres avec les performances médianes, puis passe au point de recherche suivant. L’outil répète ce traitement jusqu’à ce que tous les points de recherche candidats aient été recherchés. Enfin, l’outil sélectionne le jeu d’hyperparamètres présentant les meilleures performances.
Si vous optimisez les hyperparamètres, le paramètre Table d’optimisation des paramètres en sortie est disponible. La valeur Table d’optimisation des paramètres en sortie répertorie chaque jeu d’hyperparamètres qui a fait l’objet d’une recherche et inclut les diagrammes suivants :
- Historique d’optimisation (Tous les essais) : diagramme qui visualise l’historique d’optimisation.
- Performances des paramètres du modèle : diagramme qui permet d’évaluer la contribution de chaque hyperparamètre dans les performances du modèle.
Bonnes pratiques
Voici les meilleures pratiques concernant l’utilisation de cet outil :
- 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 type Basée sur une forêt et Gradient boosté n’extrapolent pas. Ils peuvent seulement classer ou prévoir en fonction de la plage de valeurs sur laquelle le modèle a été entraîné. Si vous utilisez des variables explicatives avec une plage très supérieure ou très inférieure à la plage du jeu de données d’entraînement d’origine pour effectuer des prévisions, le modèle estime la valeur 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 de la valeur Rasters d’entraînements explicatifs et du calcul des distances avec le paramètre Entités de distance d’entraînement explicatives, entraînez 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 la valeur Entités entraînées en sortie. À la prochaine exécution de l’outil, utilisez la valeur Entités entraînées en sortie en tant que valeur du paramètre Entités d’entraînement en entrée et utilisez toutes les valeurs et distances extraites en tant que valeur Variables d’entraînement explicatives au lieu de les extraire à chaque entraînement du modèle. Pour ce faire, définissez les valeurs des paramètres Nombre d’arbres, Profondeur d’arbre maximale 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 le paramètre Type de prévision a pour valeur Prévoir un raster. Pour inclure les distances par rapport aux entités en tant que variables explicatives, calculez les rasters de distance à l’aide de l’outil Accumulation de distance et intégrez-les dans le paramètre Rasters d’entraînement explicatifs.
- Bien que la valeur par défaut du paramètre Nombre d’arbres soit de 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 variable à prévoir, en plus de la variation de ces variables.
- Augmentez le nombre d’arbres dans la 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.
- Le temps d’exécution de l’outil dépend très fortement du nombre de variables utilisées par arbre. Un petit 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.
Avec le type de modèle Gradient boosté, le temps d’exécution de l’outil est très affecté par la valeur du paramètre Nombre maximal de groupes pour la recherche de divisions. La valeur par défaut du paramètre Nombre de groupes est de 0, ce qui correspond à l’utilisation d’un algorithme glouton. Cet algorithme crée une division candidate à chaque point de données, ce qui peut rallonger le temps d’exécution. Par conséquent, lorsque les données sont de grande taille ou si l’optimisation compte de nombreux points de recherche, utilisez une valeur raisonnable pour le paramètre Nombre maximal de groupes pour la recherche de divisions.
- 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 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.
- L’importance des variables est un diagnostic qui vous aide à comprendre quelles variables génèrent les résultats du modèle. Il ne mesure pas la qualité des prévisions du modèle. Une bonne pratique consiste à utiliser toutes les données pour l’entraînement en définissant la valeur 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 Nombre d’arbres ou Profondeur d’arbre maximale et explorez les boîtes à moustaches jusqu’à avoir un modèle stable. À l’issue de l’entraînement d’un modèle stable, quelle que soit l’importance des variables, vous pouvez accroître la valeur Données d’entraînement exclues pour la validation (%) afin de déterminer l’exactitude de votre modèle. Si le modèle spécifié est de type Basée sur une forêt, explorez les erreurs OOB des messages de diagnostic afin de déterminer l’exactitude de votre modèle. Une fois que vous avez un modèle précis avec une importance des variables stable, vous pouvez définir la valeur Nombre d’exécutions pour la validation sur 1 et obtenir un diagramme à barres unique qui illustre l’importance finale des variables de votre modèle.
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
Chen, T., and Guestrin, C. (2016). « XGBoost: A Scalable Tree Boosting System. » In Proceedings of the 22nd ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 785-794.
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 ?