Quand est-il approprié d'utiliser PCA comme étape de prétraitement?

8

Je comprends que PCA est utilisé pour la réduction de dimensionnalité afin de pouvoir tracer des jeux de données en 2D ou 3D. Mais j'ai également vu des gens appliquer l'ACP comme étape de prétraitement dans des scénarios de classification où ils appliquent l'ACP pour réduire le nombre de fonctionnalités, puis ils utilisent certains composants principaux (les vecteurs propres de la matrice de covariance) comme nouvelles fonctionnalités.

Mes questions:

  • Quels effets cela a-t-il sur les performances de classification?

  • Quand appliquer une telle étape de prétraitement?

  • J'ai un ensemble de données avec 10 entités sous forme de nombres réels et 600 entités binaires qui représentent des entités catégorielles, en utilisant un codage un-à-plusieurs pour les représenter. L'application de l'APC ici aurait-elle du sens et de meilleurs résultats?

ps si la question est trop large, je vous serais reconnaissant de fournir un document ou des didacticiels qui expliquent mieux les détails de l'utilisation de PCA de cette manière.

ps après avoir lu un peu, j'ai trouvé qu'il pourrait être préférable d'utiliser l'analyse sémantique latente pour réduire le nombre de fonctionnalités binaires pour les attributs catégoriels? Je ne touche donc pas aux fonctionnalités à valeur réelle, mais je prétraite uniquement les fonctionnalités binaires, puis je combine les fonctionnalités à valeur réelle avec les nouvelles fonctionnalités et je forme mon classificateur. Qu'est-ce que tu penses?

Jack Twain
la source

Réponses:

5

L'utilisation de PCA pour la sélection des fonctionnalités (suppression des fonctionnalités non prédictives) est un moyen extrêmement coûteux de le faire. Les algues PCA sont souvent O (n ^ 3). Une approche bien meilleure et plus efficace consisterait plutôt à utiliser une mesure d'interdépendance entre la fonction et la classe - car cette information mutuelle a tendance à très bien fonctionner, de plus c'est la seule mesure de dépendance a) généralisant pleinement et b) a en fait une bonne base philosophique basée sur la divergence Kullback-Leibler.

Par exemple, nous calculons (en utilisant la probabilité de vraisemblance maximale environ avec un certain lissage)

MI au-dessus des attentes = MI (F, C) - E_ {X, N} [MI (X, C)]

où le deuxième terme est «l'information mutuelle attendue pour N exemples». Nous prenons ensuite les meilleures fonctionnalités M après le tri par MI au-dessus des attentes.

La raison pour laquelle on voudrait utiliser PCA est si l'on s'attend à ce que de nombreuses fonctionnalités soient en fait dépendantes. Cela serait particulièrement pratique pour les Naive Bayes où l'indépendance est supposée. Maintenant, les ensembles de données avec lesquels j'ai travaillé ont toujours été beaucoup trop volumineux pour utiliser PCA, donc je n'utilise pas PCA et nous devons utiliser des méthodes plus sophistiquées. Mais si votre ensemble de données est petit et que vous n'avez pas le temps d'étudier des méthodes plus sophistiquées, alors allez-y et appliquez une PCA prête à l'emploi.

samthebest
la source