Est-il judicieux de faire de l'ACP avant d'effectuer une classification aléatoire des forêts?
J'ai affaire à des données de texte de grande dimension, et je veux faire une réduction de fonctionnalités pour éviter la malédiction de la dimensionnalité, mais Random Forests ne fait-il pas déjà une sorte de réduction de dimension?
mtry
paramètre) pour construire chaque arbre. Il existe également une technique d'élimination des fonctionnalités récursives construite au-dessus de l'algorithme RF (voir le package varSelRF R et les références qu'il contient ). Il est cependant certainement possible d'ajouter un schéma initial de réduction des données, bien qu'il doive faire partie du processus de validation croisée. La question est donc: voulez-vous entrer une combinaison linéaire de vos fonctionnalités dans RF?Réponses:
Leo Brieman a écrit que "la dimensionnalité peut être une bénédiction". En général, les forêts aléatoires peuvent fonctionner sans problème sur de grands ensembles de données. Quelle est la taille de vos données? Différents domaines traitent les choses de différentes manières en fonction de la connaissance du sujet. Par exemple, dans les études d'expression génique, les gènes sont souvent rejetés sur la base d'une faible variance (pas d'aperçu du résultat) dans un processus parfois appelé filtrage non spécifique. Cela peut aider avec le temps d'exécution sur des forêts aléatoires. Mais ce n'est pas obligatoire.
S'en tenir à l'exemple de l'expression génique, les analystes utilisent parfois les scores PCA pour représenter les mesures d'expression génique. L'idée est de remplacer des profils similaires par un score potentiellement moins salissant. Les forêts aléatoires peuvent être exécutées à la fois sur les variables d'origine ou sur les scores PCA (un substitut pour les variables). Certains ont rapporté de meilleurs résultats avec cette approche, mais il n'y a pas de bonnes comparaisons à ma connaissance.
En somme, il n'est pas nécessaire de faire PCA avant d'exécuter RF. Mais tu peux. L'interprétation peut changer en fonction de vos objectifs. Si tout ce que vous voulez faire est de prédire, l'interprétation peut être moins importante.
la source
Je voudrais ajouter mes deux cents à cela, car je pensais que les réponses existantes étaient incomplètes.
L'exécution de l'ACP peut être particulièrement utile avant d'entraîner une forêt aléatoire (ou LightGBM, ou toute autre méthode basée sur un arbre de décision) pour une raison particulière que j'ai illustrée dans l'image ci-dessous.
Fondamentalement, cela peut rendre le processus de recherche de la limite de décision parfaite beaucoup plus facile en alignant votre ensemble d'entraînement le long des directions avec la plus grande variance.
Les arbres de décision sont sensibles à la rotation des données, car la frontière de décision qu'ils créent est toujours verticale / horizontale (c'est-à-dire perpendiculaire à l'un des axes). Par conséquent, si vos données ressemblent à l'image de gauche, il faudra un arbre beaucoup plus grand pour séparer ces deux clusters (dans ce cas, il s'agit d'un arbre à 8 couches). Mais si vous alignez vos données le long de ses principaux composants (comme sur la photo de droite), vous pouvez obtenir une séparation parfaite avec une seule couche!
Bien sûr, tous les jeux de données ne sont pas distribués comme ceci, donc PCA peut ne pas toujours aider, mais il est toujours utile de l'essayer et de voir si c'est le cas. Et juste un rappel, n'oubliez pas de normaliser votre jeu de données à la variance unitaire avant d'effectuer l'ACP!
PS: En ce qui concerne la réduction de la dimensionnalité, je suis d'accord avec le reste des gens en ce que ce n'est généralement pas un problème aussi important pour les forêts aléatoires que pour les autres algorithmes. Mais cela pourrait aider à accélérer un peu votre entraînement. Le temps de formation de l'arbre de décision est O (n m log (m)), où n est le nombre d'instances de formation, m - nombre de dimensions. Et bien que les forêts aléatoires choisissent au hasard un sous-ensemble de dimensions pour chaque arbre à former, plus la fraction du nombre total de dimensions que vous choisissez est faible, plus vous devez former d'arbres pour obtenir de bonnes performances.
la source
L'ACP avant la forêt aléatoire peut être utile non pas pour la réduction de la dimensionnalité mais pour vous donner une forme dans laquelle la forêt aléatoire peut mieux fonctionner.
Je suis sûr que, en général, si vous transformez vos données avec PCA en gardant la même dimensionnalité des données d'origine, vous aurez une meilleure classification avec la forêt aléatoire
la source