Puisque RF peut gérer la non-linéarité mais ne peut pas fournir de coefficients, serait-il sage d'utiliser une forêt aléatoire pour rassembler les caractéristiques les plus importantes, puis de les brancher dans un modèle de régression linéaire multiple afin d'obtenir leurs coefficients?
regression
machine-learning
feature-selection
random-forest
regression-strategies
Modèle de Markov caché
la source
la source
Réponses:
J'interprète la question en une phrase de OP comme signifiant qu'il souhaite comprendre l'opportunité du pipeline d'analyse suivant:
Je ne pense pas que ce pipeline accomplira ce que vous voudriez. Les variables qui sont importantes dans les forêts aléatoires n'ont pas nécessairement de relation additive linéaire avec le résultat. Cette remarque ne devrait pas être surprenante: c'est ce qui rend la forêt aléatoire si efficace pour découvrir des relations non linéaires.
Voici un exemple. J'ai créé un problème de classification avec 10 fonctions de bruit, deux fonctions de "signal" et une limite de décision circulaire.
Et lorsque nous appliquons le modèle RF, nous ne sommes pas surpris de constater que ces caractéristiques sont facilement identifiées comme importantes par le modèle. (NB: ce modèle n'est pas réglé du tout .)
Mais lorsque nous sélectionnons seulement ces deux fonctions utiles, le modèle linéaire résultant est affreux.
La partie importante du résumé est la comparaison de la déviance résiduelle et de la déviance nulle. Nous pouvons voir que le modèle ne fait fondamentalement rien pour "déplacer" la déviance. De plus, les coefficients estimés sont essentiellement nuls.
Qu'est-ce qui explique la différence sauvage entre les deux modèles? De toute évidence, la limite de décision que nous essayons d’apprendre n’est pas une fonction linéaire des deux caractéristiques du "signal". De toute évidence, si vous connaissiez la forme fonctionnelle de la limite de décision avant d'estimer la régression, vous pouvez appliquer une transformation pour coder les données de manière à ce que la régression puisse ensuite découvrir ... (mais je n'ai jamais connu la forme de la limite à venir Dans la mesure où nous ne travaillons que dans deux cas, un ensemble de données synthétiques sans bruit dans les étiquettes de classe, la limite entre les classes est très évidente dans notre graphique. Mais c'est moins évident lorsque vous travaillez avec des données réelles dans un nombre de dimensions réaliste.
De plus, en général, une forêt aléatoire peut adapter différents modèles à différents sous-ensembles de données. Dans un exemple plus compliqué, il ne sera pas évident de savoir ce qui se passe dans un seul complot, et il sera encore plus difficile de créer un modèle linéaire doté d'un pouvoir prédictif similaire.
Comme nous ne sommes concernés que par deux dimensions, nous pouvons créer une surface de prédiction. Comme prévu, le modèle aléatoire apprend que le voisinage autour de l'origine est important.
Comme l'indique la sortie de notre modèle abyssal, la surface de prédiction du modèle de régression logistique à variable réduite est fondamentalement plate.
HongOoi note que l'appartenance à une classe n'est pas une fonction linéaire des entités, mais qu'une fonction linéaire est en cours de transformation. Étant donné que la limite de décision est nous pouvons créer un modèle linéaire plus utile si ces deux entités sont quadrillées. C'est délibéré. Bien que le modèle RF puisse trouver le signal dans ces deux entités sans transformation, l'analyste doit être plus spécifique pour obtenir des résultats tout aussi utiles dans le GLM. C’est peut-être suffisant pour OP: il est plus facile de trouver un ensemble de transformations utiles pour 2 entités que 12. Toutefois, même si une transformation produit un modèle linéaire utile, l’importance de l’entité RF ne la suggère pas seule.1=x21+x22,
la source
La réponse de @Sycorax est fantastique. Outre les aspects parfaitement décrits du problème lié à l'ajustement du modèle, il existe une autre raison de ne pas poursuivre un processus en plusieurs étapes tel que l'exécution de forêts aléatoires, de lasso ou de réseaux élastiques pour "apprendre" les caractéristiques qui alimenteront la régression traditionnelle. Régression ordinaire ne connaîtrait pas sur le Pénalisation qui allait bien pendant le développement de la forêt aléatoire ou les autres méthodes, et cadrerait effets unpenalized qui sont mal biaisées paraître trop forte pour prédire . Ce ne serait pas différent d’exécuter une sélection de variable par étapes et de rapporter le modèle final sans tenir compte de la manière dont il est arrivé.Y
la source
Une forêt aléatoire correctement exécutée appliquée à un problème mieux "forêt aléatoire appropriée" peut servir de filtre pour supprimer le bruit et générer des résultats plus utiles en tant qu'entrées pour d'autres outils d'analyse.
Avertissements:
Je dois donner un "cri" à mes "peeps" qui ont fait "Spider". ( lien ) Leur exemple de problème a éclairé mon approche. ( lien ) J'aime aussi les estimateurs de Theil-Sen, et j'aimerais pouvoir donner des accessoires à Theil et Sen.
Ma réponse ne porte pas sur la façon de se tromper, mais sur la façon dont cela pourrait fonctionner si vous aviez la plupart du temps raison. Bien que j'utilise un bruit "trivial", je souhaite que vous réfléchissiez au bruit "non-trivial" ou "structuré".
L’un des atouts d’une forêt aléatoire est sa capacité à s’appliquer aux problèmes de grandes dimensions. Je ne peux pas afficher des colonnes de 20 ko (un espace dimensionnel de 20 ko) de manière visuelle. Ce n'est pas une tâche facile. Toutefois, si vous rencontrez un problème de 20 000 dimensions, une forêt aléatoire peut être un bon outil lorsque la plupart des autres tombent à plat sur leurs "faces".
Voici un exemple de suppression du bruit d'un signal à l'aide d'une forêt aléatoire.
Permettez-moi de décrire ce qui se passe ici. Cette image ci-dessous montre les données d'entraînement pour la classe "1". La classe "2" est uniformément aléatoire sur le même domaine et la même plage. Vous pouvez voir que "l'information" de "1" est principalement une spirale, mais a été corrompue avec le matériel de "2". Avoir 33% de vos données corrompues peut être un problème pour de nombreux outils d'adaptation. Theil-Sen commence à se dégrader à environ 29%. ( lien )
Nous séparons maintenant les informations et n’avons qu’une idée de ce qu'est le bruit.
Voici le résultat approprié:
J'aime beaucoup cela, car il peut montrer à la fois les forces et les faiblesses d’une méthode décente face à un problème difficile. Si vous regardez près du centre, vous constaterez que le filtrage est moins efficace. L'échelle géométrique de l'information est petite et la forêt aléatoire en manque. Cela dit quelque chose sur le nombre de nœuds, le nombre d'arbres et la densité d'échantillon pour la classe 2. Il existe également un "écart" proche de (-50, -50) et des "jets" à plusieurs endroits. En général, cependant, le filtrage est correct.
Comparez vs SVM
Voici le code pour permettre une comparaison avec SVM:
Il en résulte l'image suivante.
Ceci est un SVM décent. Le gris est le domaine associé à la classe "1" par le SVM. Les points bleus sont les échantillons associés à la classe "1" par le RF. Le filtre RF fonctionne de manière comparable au SVM sans base explicitement imposée. On peut voir que les "données serrées" près du centre de la spirale sont beaucoup plus "étroitement" résolues par le RF. Il y a aussi des "îles" vers la "queue" où le RF trouve une association que le SVM ne fait pas.
Je suis diverti. Sans avoir le fond, j'ai fait l'une des premières choses également faites par un très bon contributeur sur le terrain. L'auteur d'origine utilisait "distribution de référence" ( lien , lien ).
MODIFIER:
Appliquez FOREST de manière aléatoire à ce modèle: bien
que user777 ait bien pensé qu'un CART soit l'élément d'une forêt aléatoire, le principe de base de la forêt aléatoire est "l'agrégation d'ensemble d'apprenants faibles". Le CART est un élève faible connu, mais ce n’est rien à distance d’un "ensemble". L '"ensemble", bien que dans une forêt aléatoire, est destiné "dans la limite d'un grand nombre d'échantillons". La réponse de user777, dans le diagramme de dispersion, utilise au moins 500 échantillons, ce qui en dit long sur la lisibilité humaine et la taille des échantillons. Le système visuel humain (lui-même un ensemble d'apprenants) est un capteur et un processeur de données étonnants et il considère que cette valeur est suffisante pour faciliter le traitement.
Si nous prenons même les paramètres par défaut sur un outil de forêt aléatoire, nous pouvons observer que le comportement de l'erreur de classification augmente pour les premiers arbres, et n'atteint pas le niveau d'arbre avant qu'il y ait environ 10 arbres. Initialement, l'erreur augmente, la réduction d'erreur devient stable autour de 60 arbres. Par stable je veux dire
Quels rendements:
Si, au lieu de regarder le "minimum faible apprenant", nous regardons le "minimum faible ensemble" suggéré par une heuristique très brève pour le réglage par défaut de l'outil, les résultats sont quelque peu différents.
Notez, j'ai utilisé des "lignes" pour dessiner le cercle indiquant le bord sur l'approximation. Vous pouvez voir que c'est imparfait, mais bien meilleur que la qualité d'un seul apprenant.
L'échantillonnage d'origine comprend 88 échantillons "intérieurs". Si la taille des échantillons est augmentée (en permettant à l'ensemble de s'appliquer), la qualité de l'approximation s'améliore également. Le même nombre d'apprenants avec 20 000 échantillons constitue un meilleur ajustement.
Les informations d’entrée beaucoup plus qualitatives permettent également d’évaluer le nombre approprié d’arbres. L'inspection de la convergence suggère que 20 arbres est le nombre minimal suffisant dans ce cas particulier pour bien représenter les données.
la source