PCA sur les données textuelles de grande dimension avant la classification aléatoire des forêts?


13

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?


7
L'algorithme RF ne souffre pas vraiment d'un nombre élevé de prédicteurs car il suffit d'un sous-ensemble aléatoire (appelé mtryparamè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?
chl

Combien de caractéristiques / dimensions, F? > 1K? > 10K? Les caractéristiques sont-elles discrètes ou continues, par exemple fréquence-terme, tfidf, métriques de similitude, vecteurs de mots ou quoi? Le temps d'exécution de PCA est quadratique à F.
smci


Réponses:


12

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.


Merci pour votre réponse. La vitesse est un problème, d'autant plus que j'ai plusieurs milliers d'étiquettes possibles dans un problème multi-étiquettes. L'application classe un corpus de données textuelles tirées à la fois de Twitter et de la description des analystes de certains événements. J'utilise la pondération tf-idf et le modèle du sac de mots.
Maus

8

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.

entrez la description de l'image ici


1

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


Le runtime PCA est quadratique par rapport au nombre de fonctionnalités F, il n'est donc pas toujours bon marché.
smci

par perfomances, j'entendais les performances de prédiction. Je ne parlais pas du temps de calcul
Donbeo

2
Pourriez-vous ajouter une justification à vos affirmations? Il semble que l'APC n'améliorera pas toujours les résultats. Par exemple, lorsque la frontière de décision est invariante aux rotations (par exemple, un cercle), l'exécution de l'ACP ne fera que redimensionner et faire pivoter les données (et donc le cercle), mais RF devra toujours approximer la frontière elliptique avec beaucoup de divisions rectangulaires.
Sycorax dit Réintégrer Monica le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.