2017-04-05 3 views
-1

Permettez-moi de cette préface:Réduction de dimension pour le clustering dans R (PCA et autres méthodes)

J'ai regardé longuement sur cette question et je l'ai trouvé plusieurs possibilités intéressantes à examiner (comme this et this). J'ai aussi examiné l'analyse des composantes principales et j'ai vu certaines sources qui prétendent que c'est une mauvaise méthode de réduction des dimensions. Cependant, j'ai l'impression que c'est une bonne méthode, mais je ne sais pas comment l'appliquer. Toutes les sources que j'ai trouvées à ce sujet donnent une bonne explication, mais elles fournissent rarement des conseils pour appliquer une de ces méthodes (c'est-à-dire, comment appliquer une méthode dans R). Donc, ma question est la suivante: y a-t-il une façon claire de réduire les dimensions dans R? Mon jeu de données contient à la fois des variables numériques et catégorielles (avec plusieurs niveaux) et est assez important (~ 40k observations, 18 variables (mais 37 si je transforme des variables catégorielles en variables factices)).

Quelques points:

  • Si nous voulons utiliser PCA, alors je dois convertir en quelque sorte mes variables en numérique. Serait-il acceptable d'utiliser simplement une approche de variable fictive pour cela?

  • Pour toute sorte de réduction de dimension pour l'apprentissage non supervisé, comment puis-je traiter les variables ordinales? Le concept de variables ordinales a-t-il même un sens dans l'apprentissage non supervisé?

  • Mon vrai problème avec PCA est que lorsque je l'exécute et que j'ai mes composants principaux .. Je n'ai aucune idée de ce que je fais réellement avec eux. À ma connaissance, chaque composante principale est une combinaison de variables - et en tant que telle, je ne suis pas vraiment sûr de la façon dont cela nous aide à choisir quelles sont les meilleures variables.

+0

Je ne suis pas vraiment sûr si cela appartient ici. Il semble que cette question est plus sur la façon de faire une bonne analyse de réduction de dimension qui est vraiment plus d'une question statistique qui devrait aller sur [stats.se] ou [datascience.se]. Si le problème est vraiment de coder ceci dans R, alors la question devrait inclure un [exemple reproductible] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) avec exemples de données d'entrée (il ne devrait pas être l'ensemble de votre ensemble de données). Essayez de séparer les parties qui sont directement liées à la programmation et celles qui ne le sont pas. – MrFlick

Répondre

1

Je ne pense pas que ce soit une question de R. C'est plus comme une question de statistiques. PCA ne fonctionne pas pour les variables catégorielles

  • La PCA repose sur la décomposition de la matrice de covariance, qui ne fonctionne pas pour les variables catégorielles.
  • Les variables ordinales ont beaucoup de sens dans l'apprentissage supervisé et non supervisé. Que recherchez vous exactement? Vous ne devez appliquer PCA sur les variables ordinales que si elles ne sont pas asymétriques et si vous avez plusieurs niveaux.
  • PCA vous donne seulement une nouvelle transformation en termes de composants principaux, et leurs valeurs propres. Cela n'a rien à voir avec la réduction des dimensions. Je le répète, cela n'a rien à voir avec la réduction de la dimension. Vous réduisez votre ensemble de données uniquement si vous sélectionnez un sous-ensemble des composants principaux. PCA est utile pour la régression, la visualisation des données, analyse exploratoire etc.
  • Une façon courante consiste à appliquer optimale mise à l'échelle pour transformer vos variables pour l'ACP:

Lire ceci:

http://www.sicotests.com/psyarticle.asp?id=159

Vous pouvez également envisager analyse de correspondance pour variables catégoriques et analyse factorielle multiple à la fois catégorique et continue.