Visualisation de données de grande dimension

11

J'ai des échantillons de deux classes qui sont des vecteurs dans un espace de grande dimension et je veux les tracer en 2D ou 3D.

Je connais les techniques de réduction de dimensionnalité, mais j'ai besoin d'un outil vraiment simple et facile à utiliser (en matlab, python ou un .exe pré-construit).

Je me demande également si la représentation en 2D sera "significative"? (Par exemple, comment deux classes se croisent ou peuvent être séparables).

mrgloom
la source

Réponses:

8

Vous pouvez essayer tSNE . Il est assez simple à utiliser. Il fonctionne avec Octave, en plus de Matlab et Python. Jetez un œil au guide pour obtenir une première intrigue en une minute.

jpmuc
la source
10

Un outil prédéfini pour visualiser des données de grande dimension est ggobi . Il vous permet de colorer les points pour représenter des groupes, puis propose quelques options pour réduire les dimensions élevées à une représentation bidimensionnelle. Un outil particulièrement intéressant est le grand tour 2D qui fait tourner le nuage de données en plusieurs dimensions et vous montre une animation de la projection 2D de la rotation. Vous pouvez ralentir ou interrompre la rotation lorsque vous voyez des motifs intéressants.

Greg Snow
la source
Un très bon outil en effet, qui fonctionne aussi avec R.
Yves
2

L'approche classique serait d'utiliser l'ACP ( analyse en composantes principales ) afin d'effectuer une réduction de dimensionnalité linéaire. Essentiellement, cela projette vos données sur un espace de dimension inférieure (dans le cas 2D, c'est simplement un plan) tout en préservant autant que possible la variance des données.

L'exécution de PCA implique généralement l'exécution d'une seule commande dans la plupart des langages de programmation, c'est donc très simple.

N'oubliez pas qu'il est possible que vos données ne puissent pas être représentées avec précision en 2 ou 3 dimensions. PCA vous donnera automatiquement une estimation quantitative de ceci: Il vous dira quel pourcentage de la variance est capturé par la représentation dimensionnelle résultante. Cela vous donnera une idée de la quantité d'informations que vous perdez en regardant cette visualisation simplifiée.

Au niveau du bit
la source
1

Outre la suggestion de @ juampa, vous devriez également essayer NeRV (Neighbour Retrieval Visualizer), qui " est une approche basée sur la recherche d'informations basée sur des principes pour la réduction de la dimensionnalité non linéaire ", et SNE / t-SNE peuvent être considérés comme des cas spéciaux de NeRV. Le point principal de NeRV est de minimiser un compromis entre le rappel et la précision entre l'espace d'origine et l'affichage. NeRV est fourni comme un outil de ligne de commande écrit en C ++.

Une image de démonstration de leur site Web: le résultat de gauche met davantage l'accent sur le rappel (moins de «ratés»), tandis que celui de droite met davantage l'accent sur la précision (moins de «faux voisins»).

entrez la description de l'image ici

ziyuang
la source
1

Si vous ne vous opposez pas aux logiciels commerciaux, vous pouvez essayer le logiciel VisuMap qui implémente des dizaines d'algorithmes de cartographie linéaire et non linéaire pour les données de grande dimension, y compris des méthodes telles que PCA, LDA, SMACOF, tSNE, CCA, Sammon, Kohonen Map, etc.

James LI
la source