La forêt bootstrap a-t-elle changé dans JMP Pro18 ?J'utilise la forêt bootstrap sur de nombreux ensembles de données différents (variables de réponse continues et nominales) depuis plusieurs années et je comprends généralement les paramètres de cet algorithme ; j'utilise généralement les valeurs par défaut. Ma compréhension des forêts bootstrap aléatoires est que chaque arbre est exécuté à partir d'une sélection aléatoire de facteurs et d'observations (avec remise). Par le passé, lorsque j'examinais les arbres individuellement, certains n'utilisaient que quelques variables et présentaient des arbres très clairsemés, tandis que d'autres étaient beaucoup plus complexes. En enseignement, je l'ai utilisé pour montrer que les arbres individuels sont souvent absurdes : c'est le calcul de la moyenne qui produit de bonnes prédictions.
Cependant, lorsque j'exécute des forêts bootstrap dans JMP Pro 18, chaque ensemble de données utilisé affiche des arbres comportant des centaines de divisions. Auparavant, il y avait toujours quelques arbres avec moins de 10 divisions, mais désormais, il n'y a plus aucun arbre simple. La méthode d'implémentation du modèle a-t-elle changé ?
Modélisation prédictive et apprentissage automatiqueRe : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?Salut @dlehman1
La plateforme Bootstrap Forest ajuste un modèle d'ensemble en faisant la moyenne de plusieurs arbres de décision, chacun étant ajusté à un échantillon bootstrap (avec remplacement) des données d'apprentissage. Chaque division de chaque arbre prend en compte un sous-ensemble aléatoire de prédicteurs (issus de Forêt Bootstrap ).
Cette randomisation dans la sélection des échantillons d'entraînement et la sélection des sous-ensembles de caractéristiques permet de réduire le risque de surapprentissage (en créant plusieurs arbres indépendants basés sur des données d'entraînement légèrement différentes), d'améliorer la précision et la robustesse au bruit, et permet de gérer les valeurs manquantes, les valeurs aberrantes et les caractéristiques corrélées/colinéarité (grâce à la sélection de sous-ensembles de caractéristiques à chaque division de chaque arbre).
Concernant votre question initiale, comme je n'ai plus JMP 17 sur mon ordinateur, je ne pourrai pas comparer les résultats. Concernant les documentations de JMP 17 et JMP 18 concernant les hyperparamètres par défaut utilisés lors du lancement de la forêt Bootstrap, il ne semble pas y avoir de différence dans les paramètres par défaut.
Si les arbres individuels semblent trop complexes, vous pouvez modifier certains des hyperparamètres par défaut :
- Divisions minimales par arbre : Par défaut, elle est de 10, mais sur les petits ensembles de données, j'ai tendance à toujours réduire cette valeur à 2. Avoir une valeur élevée sur les divisions minimales par arbre a tendance à créer des arbres individuels complexes, ce qui peut ne pas être bénéfique et peut être sujet à un surajustement.
- Nombre maximal de divisions par arbre : Par défaut, la valeur est de 2 000, mais un maximum de 2 000 divisions par arbre individuel est beaucoup (et peut entraîner les problèmes mentionnés précédemment) ! J'ai tendance à réduire cette valeur en fonction de la taille de l'ensemble de données et de la complexité de la tâche, autour de 100-1 000.
- Taille minimale de division : Par défaut, elle est de 5 (nombre minimum d'échantillons pour avoir une division candidate), mais sur de petits ensembles de données, elle peut ne pas être pertinente (et vous pouvez réduire ce nombre, même si cela peut entraîner un risque plus élevé de surapprentissage), tandis que sur des ensembles de données plus volumineux, vous souhaiterez peut-être augmenter cette valeur pour augmenter la robustesse de chaque arbre individuel.
- Arrêt anticipé : assurez-vous que cette option est cochée si vous avez utilisé un ensemble de validation, pour vous assurer que la création d'arbres s'arrête si les mesures de validation ne s'améliorent pas avec la création de nouveaux arbres.
Désolé de ne pas avoir de réponses plus précises/définitives à vos questions. Auriez-vous des captures d'écran, des jeux de données ou quoi que ce soit pour illustrer les différences ? Cela pourrait aider à déboguer la situation.
Meilleur,
Re : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?Votre description correspond exactement à ce que je comprends et j'ai une bonne idée de l'impact de ces paramètres de réglage sur les arbres construits. Je ne retrouve aucun de mes anciens exemples, mais je sais que j'ai démontré en classe que les arbres individuels n'ont aucun sens. Or, la moyenne d'arbres indépendants est ce qui fait de la forêt bootstrap un bon prédicteur. Cependant, la partie de la description qui semble en contradiction avec les arbres obtenus est : « Chaque division de chaque arbre prend en compte un sous-ensemble aléatoire de prédicteurs. » Je m'attendrais à ce que les prédicteurs de chaque arbre varient, non seulement dans la sélection aléatoire, mais aussi dans leur nombre. Cela semble correspondre à ce que j'obtenais auparavant avec la forêt bootstrap : certains arbres utilisaient 2 prédicteurs, d'autres 10, etc. Maintenant, tous les arbres semblent avoir le même nombre de divisions (et donc utiliser un nombre similaire de prédicteurs dans chaque arbre). Et le nombre de divisions est de l'ordre de plusieurs centaines dans tous les ensembles de données que j'ai examinés (tailles modestes, environ 10 000 à 100 000 lignes). Je sais qu'avant, j'avais des arbres qui n'avaient que quelques fentes, mais ce n'est plus le cas. D'où ma question.
Re : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?Salut @dlehman1 ,
J'ai essayé de jouer avec deux exemples d'ensembles de données, Diamonds Data.jmp (tâche de régression) et Mushroom.jmp (tâche de classification).
J'ai eu la même impression que vous avec la tâche de régression : même en jouant avec les hyperparamètres, les arbres individuels étaient assez complexes. Cependant, j'ai obtenu des arbres individuels plus simples et plus satisfaisants avec la tâche de classification, avec des profondeurs et des complexités variées.

Donc, encore une fois, cela ne répondra pas directement à votre question sur un éventuel changement dans l'algorithme de forêt bootstrap entre les versions de JMP (c'est peut-être quelque chose qui pourrait être mieux répondu par le personnel technique de JMP, @Mark_Bailey ?), mais je pense que la complexité des arbres individuels est liée à la précision nécessaire à la tâche (régression équivalente à un très grand nombre de classes par rapport à la classification) et aux données disponibles (quantité et qualité).
J'espère que cette réponse pourra encore vous aider,
Re : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?J'ai joint un autre exemple : taille similaire à celle de l'ensemble de données sur les champignons, modèle de classification similaire, nombre de variables similaire (mais quelques facteurs continus alors que tous les facteurs des champignons sont nominaux). Les arbres de la forêt bootstrap comportent tous des centaines de divisions. Je suis toujours perplexe.
Re : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?Je ne supporte pas directement cette plateforme ; je n'ai donc aucune explication ni aide immédiate à vous apporter. Je suis également engagé à terminer le développement d'une nouvelle plateforme et de nouvelles fonctionnalités pour JMP 19. Je pense donc que le plus rapide serait de contacter le support JMP ( support@jmp.com ) pour obtenir des réponses. N'hésitez pas à partager ici vos commentaires.
Re : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?Salut tout le monde,
Nos tests n'ont révélé aucune différence méthodologique entre les versions JMP 17 et 18 jusqu'à présent. Si vous avez d'autres questions ou préoccupations concernant le comportement observé, n'hésitez pas à les adresser à support@jmp.com . Si possible, veuillez joindre un ou plusieurs exemples illustrant en quoi le comportement de division d'arbre diffère de celui attendu. Nous serons ravis de poursuivre les tests et d'approfondir nos recherches.
-Support technique JMP
Re : La forêt bootstrap a-t-elle changé dans JMP Pro18 ?Le support JMP est de nouveau disponible ! La raison pour laquelle j'obtenais des résultats différents était :
« L'« ancienne » valeur par défaut (avant 16) pour les « termes échantillonnés par division » était floor(nX/4), où nX est le nombre de variables X saisies. »
Je pensais que le comportement avait changé entre JMP 17 et JMP 18, mais il semble que cela remonte à plus loin. Je n'avais pas remarqué que, dans mon exemple, les termes échantillonnés par division donnaient une valeur par défaut de 1, alors que dans JMP 18 (et 17, 16 et 15, apparemment), la valeur par défaut était de 5. Ceci explique la différence.