Comprendre et appliquer des méthodes basées sur les arbres pour le criblage et la modélisation des prédicteurs
Découvrez comment faire :
- Modèle utilisant la partition, les forêts Bootstrap et l'arbre optimisé
- Comprendre les avantages et les inconvénients des arbres de décision
- Avantages : découvrir des relations non linéaires, obtenir des résultats faciles à comprendre, examiner un grand nombre de facteurs
- Inconvénients : gérer une réponse à la fois, former une instruction si-alors et non une formule mathématique, une grande variabilité peut conduire à des différences majeures dans un modèle pour des données similaires
- Créez un arbre de classification de partition JMP qui utilise le fractionnement pour définir la relation entre les prédicteurs et les réponses catégorielles
- Définissez le nombre d'échantillons, la taille des arbres (modèles) et le taux d'échantillonnage pour créer des modèles Bootstrap Forest à l'aide d'une technique de forêt aléatoire
- Définissez le nombre de couches, les divisions par arbre, le taux d'apprentissage et les taux d'échantillonnage pour créer des modèles Boosted Tree qui combinent des modèles plus petits dans un modèle final
- Interpréter les résultats et ajuster les modèles
- Spécifiez et exécutez des rapports de matrice de profit pour identifier les erreurs de classification des réponses catégorielles et interpréter les résultats à l'aide de la matrice de confusion et de la matrice de décision
Remarque : Questions et réponses incluses à 17 h 00 et à 38 h 00
Modélisation prédictive et apprentissage automatiqueObjet : Comprendre et appliquer des méthodes arborescentes pour le filtrage et la modélisation de prédicteursMerci à tous les deux pour l'analyse très détaillée, j'ai besoin d'un peu de temps pour travailler sur toutes vos propositions, et je répondrai plus tard. Je sais qu'il y a de nombreux défis dans mon ensemble de données, l'un d'entre eux est qu'il est déséquilibré, il s'agit d'un mélange de nombreuses données historiques et de quelques expériences qui y sont ajoutées. Et nous, les développeurs, voulons extraire des informations de toutes les données et ne rien jeter. Ces expériences peuvent ressembler à des valeurs aberrantes, mais ne le sont pas, ce sont des points uniques avec un résultat significatif. Comme mon ensemble de données sera présenté lors du Discovery Summit Europe, nous pourrons en discuter davantage lorsqu'il sera en ligne. BR
Objet : Comprendre et appliquer des méthodes arborescentes pour le filtrage et la modélisation de prédicteurs@Peter_Hersh : Je ne suis pas sûr de ce que vous insinuez avec votre phrase " Les modèles arborescents sont très sensibles aux valeurs aberrantes » , puisque les méthodes arborescentes sont plutôt robustes aux valeurs aberrantes, ou du moins les valeurs aberrantes ont un effet négligeable. Il existe déjà beaucoup d'exemples et de publications sur cet aspect, et c'est aussi pour cela que ce type de modèles est souvent utilisé et réputé, en raison de leur "simplicité" et de leur faible étape de pré-traitement/nettoyage (pas de gros travail sur les valeurs aberrantes, et gestion des valeurs manquantes, pas d'hypothèses sur les distributions, etc...). Une comparaison de l'impact des valeurs aberrantes sur les modèles de régression et la forêt aléatoire (et les avantages des différentes techniques pour traiter les valeurs aberrantes appliquées aux deux algorithmes (spoiler : qui ne montrent pas d'effet important sur l'algorithme de forêt aléatoire)) peut être vue ici : Comment rendre vos modèles d'apprentissage automatique robustes face aux valeurs aberrantes - KDnuggets
@Peter_Hersh @Georg Il y a cependant d'autres éléments à prendre en compte pour le choix des modèles arborescents, en voici quelques-uns :
- Surapprentissage cela peut se produire principalement pour l'arbre de décision et l'arbre boosté (si aucune validation appropriée n'est effectuée). Les forêts aléatoires ont tendance à être moins sujettes au surapprentissage en raison de la processus d'amorçage : il existe un formation indépendante des arbres individuels, dont chacun est adapté à un échantillon bootstrap des données de formation. Avec le processus d'amorçage, certains échantillons ne sont pas « utilisés » dans la création d'arbres individuels (appelés échantillons « Out Of Bag » (OOB)) mais peuvent être utilisés pour estimer les erreurs dans le modèle. (et donc servir de « validation », estimation de l'erreur sur les données non vues par le modèle).
- Corrélation/multicolinéarité :T Les différents modèles arborescents traitent différemment la multicolinéarité ou la corrélation entre les variables. Si vous avez une forte corrélation/multicolinéarité dans votre ensemble de données, vous pouvez vous attendre à quelques différences : Lorsque vous regardez le diagramme d'importance des caractéristiques de l'arbre de décision (ou arbre boosté par dégradé), vous pouvez voir que seules les "meilleures" caractéristiques sont sélectionnées (celles avec les meilleurs attributs de division), et les autres (corrélées aux premières) sont non sélectionnés et ont une importance de fonctionnalité de 0 (ou proche de 0). C'est normal, puisqu'un arbre de décision utilise tous les prédicteurs et essaie de déterminer les meilleures divisions à chaque niveau, de sorte que les caractéristiques « pires » et corrélées seront supprimées.Ainsi, le rechargement de l'arbre de décision/boosté peut conduire à des modèles différents en présence de corrélation/multicolinéarité (car il peut ne pas toujours sélectionner les mêmes caractéristiques/variables à chaque fois). Lorsque vous examinez le diagramme d'importance des fonctionnalités de Random Forest, vous pouvez voir que toutes les fonctionnalités ont un score, même celles qui sont corrélées. Cela est dû au regroupement de fonctionnalités, une sélection aléatoire de fonctionnalités effectuée pour chaque arbre de décision de la forêt, donnant à chaque fonctionnalité la même « chance » d'être sélectionnée dans des arbres individuels. Donc recharger ce modèle devrait vous donner des modèles très similaires.
- Bruit (ou compromis biais/variance) : B les arbres perdus peuvent être plus précis que les forêts aléatoires. Dans l'arbre boosté, chaque arbre individuel est entraîné de manière itérative pour corriger les erreurs de l'arbre précédent, de sorte que cet algorithme est capable de capturer des modèles complexes dans les données. Cependant, si les données sont bruyantes, les arbres boostés peuvent sur-ajuster et commencer à modéliser le bruit. Ainsi, en fonction de la taille de votre ensemble de données et du bruit dans vos données, vous avez le choix entre Boosted Tree et Random Forest : les premiers sont très précis mais peu robustes au bruit (faible biais, forte variance comme Decision Tree), alors que dans Les RF de comparaison sont moins précis mais sont plus robustes au bruit (le biais est le même que pour chaque arbre individuel de la forêt, variance plus faible que l'arbre de décision ou l'arbre boosté en raison du processus d'ensachage).
Et vous devez également considérer (en plus des points précédents) votre objectif (prédictif/explicatif ?), l'influence des métriques utilisées pour évaluer les performances de votre modèle sur cet ensemble de données, la taille et les dimensions de l'ensemble de données (nombre de variables vs. nombre d'observations), représentativité de vos données, etc...
Si vous utilisez un petit ensemble de données (avec du bruit possible), Random Forest peut être une alternative plus sûre et plus robuste que Boosted Tree/Decision Tree.
En plus de quoi @Peter_Hersh suggère que si vous avez des performances différentes dans les colonnes de pliage/validation de votre arbre boosté, cela indique qu'un sous-ensemble de vos données peut avoir des valeurs inhabituelles, donc essayer de regarder les distances (Jackknife/Mahalanobis) dans la plateforme multivariée pourrait permettre vous de repérer et d'identifier une observation habituelle dans ce sous-ensemble.
Désolé pour la longue réponse, j'espère que cela vous sera utile,
Objet : Comprendre et appliquer des méthodes arborescentes pour le filtrage et la modélisation de prédicteurs@Georg Excellente question.@Victor_G propose quelques solutions intéressantes avec la moyenne de modèle ou la modélisation d'ensemble de plis k.Il semble que vos données comportent beaucoup de bruit, le modèle changeant avec des exécutions supplémentaires.Il se peut que le modèle ne soit pas très utile à ce stade sans quelques facteurs ou exécutions supplémentaires pour vous aider à mieux comprendre la variabilité de vos données.
Une façon de tester cela consiste à créer plusieurs colonnes de validation pour la validation de la retenue.Si ces modèles utilisant différentes colonnes de validation sont radicalement différents les uns des autres, cela indique qu'un sous-ensemble aléatoire de vos données n'est pas représentatif des données dans leur ensemble.Cela signifie que vous aurez du mal à créer un modèle prédictif précis sans apporter quelques modifications.
Les modèles arborescents sont très sensibles aux valeurs aberrantes, il peut donc être judicieux de vérifier les valeurs aberrantes avant d'exécuter le modèle.
J'espère que cela vous sera utile, faites-nous savoir comment les choses se passent.
Objet : Comprendre et appliquer des méthodes arborescentes pour le filtrage et la modélisation de prédicteurs@Georg J'ai peut-être quelques idées concernant votre question :
- Essayer la validation croisée K-folds (avec la plateforme "Model Screening" disponible dans Analyse -> Predictive Modeling) pour évaluer la robustesse de votre modèle. Vous obtiendrez des résultats pour chacun de vos replis, il est donc plus facile d'évaluer si votre modèle est robuste, quelles que soient les exécutions figurant dans l'ensemble d'entraînement ou de validation.
Vous pouvez enregistrer des formules pour chaque modèle (entraînés sur les plis K-1, validés sur 1 pli), et après il pourrait être possible de faire un regroupement ou une moyenne de ces modèles individuels créés sur différents plis, mais certaines données doivent être conservées. complètement, car ici vous ferez la moyenne de différents modèles créés sur vos données et ensembles de validation, donc pour avoir une évaluation juste du modèle, un ensemble de tests indépendant doit être créé et les données de test complètement "supprimées" pour éviter toute information/ fuite de données ou surapprentissage.
- Si vous souhaitez avoir des tests reproductibles pour votre modèle (ou "réparer" votre modèle final), vous pouvez corriger la graine aléatoire en tapant n'importe quel nombre : de cette façon, recharger un modèle avec un script et une graine aléatoire fixe vous permettra de toujours ont les mêmes résultats.
- Enfin, vous pouvez également essayer de créer différents Boosted Tree (ou d'autres modèles basés sur des arbres), en optimisant les hyper-paramètres ou en faisant quelques différences dans leurs valeurs (profondeur, taille minimale de répartition, etc...) afin d'avoir soit optimisé modèle(s) ou un peu de diversité dans vos modèles individuels, puis combinez-les en les regroupant ou en faisant une moyenne.
J'espère que ces quelques idées pourront vous aider,
Objet : Comprendre et appliquer des méthodes arborescentes pour le filtrage et la modélisation de prédicteurs@Peter_Hersh ,Merci d'avoir posté cette superbe vidéo ! J'ai dans mon cas des données variables, et l'utilisation d'arbres de décision conduit à différents modèles pour différentes exécutions, comme vous l'avez dit, que les arbres de décision ont cet « inconvénient ». Dans votre cas, vous avez utilisé une colonne de validation, ce qui signifie que le choix de la formation et des tests n'est plus aléatoire. L'utilisation de la "partie d'attente" dans mon cas est une autre source de "bruit" d'une exécution à l'autre.Existe-t-il une idée ou une stratégie sur la façon d'obtenir un modèle plus stable, ou sur la manière de définir/corriger le modèle final ? J'utilise Boosted Tree, car il a mieux fonctionné lors d'une comparaison de modèles.Merci d'avance!