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).
Que diriez-vous d'un tracé de coordonnées en parallèle?
http://www.mathworks.com/help/stats/parallelcoords.html
la source
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.
la source
Juste pour ajouter mes 5 cents. La bibliothèque python Scikit-Learn possède de nombreux algorithmes pour cela:
http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#example-manifold-plot-compare-methods-py
la source
Prenons l'exemple suivant pour les options d'affichage. http://www.mathworks.com/help/stats/gmdistribution.cluster.html
la source
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»).
la source
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.
la source