Tengo muestras de dos clases que son vectores en un espacio de alta dimensión y quiero trazarlas en 2D o 3D.
Sé acerca de las técnicas de reducción de dimensionalidad, pero necesito una herramienta realmente simple y fácil de usar (en matlab, python o un .exe precompilado).
También me pregunto si la representación en 2D será "significativa". (Por ejemplo, cómo se cruzan o pueden separarse dos clases).
¿Qué tal un diagrama de coordenadas paralelas?
http://www.mathworks.com/help/stats/parallelcoords.html
fuente
El enfoque clásico sería utilizar PCA ( análisis de componentes principales ) para realizar una reducción de dimensionalidad lineal. Esencialmente, esto proyecta sus datos en un espacio de menor dimensión (en el caso 2D, esto es simplemente un plano) mientras conserva la mayor cantidad de varianza posible.
Ejecutar PCA generalmente implica ejecutar un solo comando en la mayoría de los lenguajes de programación, por lo que es muy simple.
Debe recordar que es posible que sus datos no se puedan representar con precisión en 2 o 3 dimensiones. PCA le dará automáticamente una estimación cuantitativa de esto: le dirá qué porcentaje de la varianza es capturado por la representación dimensional baja resultante. Esto le dará una idea de cuánta información pierde al mirar esta visualización simplificada.
fuente
Solo para agregar mis 5 centavos. La biblioteca de Python Scikit-Learn tiene muchos algoritmos para esto:
http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#example-manifold-plot-compare-methods-py
fuente
La probabilidad de pertenencia a la clase es un gran método de reducción de dimensión. La probabilidad de pertenencia a A vs. B varía de 0 a 1. Puede hacer un gráfico de vs para todas sus muestras. p ( B | x i )p(A|xi) p(B|xi)
Considere el siguiente ejemplo para las opciones de visualización. http://www.mathworks.com/help/stats/gmdistribution.cluster.html
fuente
Además de la sugerencia de @juampa, también debería probar NeRV (Neighbour Retrieval Visualizer), que " es un enfoque basado en la recuperación de información basada en principios para la reducción de dimensionalidad no lineal ", y SNE / t-SNE puede verse como casos especiales de NeRV. El punto principal de NeRV es minimizar una compensación del retiro y la precisión entre el espacio original y la pantalla. NeRV se proporciona como una herramienta de línea de comandos escrita en C ++.
Una imagen de demostración de su sitio web: el resultado de la izquierda enfatiza más en el recuerdo (menos "fallas"), mientras que el de la derecha enfatiza más en la precisión (menos "vecinos falsos").
fuente
Si no tiene ninguna objeción al software comercial, puede probar el software VisuMap que implementa docenas de algoritmos de mapeo lineales y no lineales para datos de alta dimensión, incluidos métodos como PCA, LDA, SMACOF, tSNE, CCA, Sammon, Kohonen Map, etc.
fuente