Visualizando datos de alta dimensión

11

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).

mrgloom
fuente

Respuestas:

8

Podrías probar tSNE . Es bastante sencillo de usar. Funciona con Octave, además de Matlab y Python. Eche un vistazo a la guía para obtener una primera trama en un minuto.

jpmuc
fuente
10

Una herramienta preconstruida para visualizar datos de alta dimensión es ggobi . Le permite colorear los puntos para representar grupos y luego tiene algunas opciones para reducir las altas dimensiones a una representación bidimensional. Una herramienta particularmente agradable es el gran recorrido 2D que básicamente gira la nube de datos en múltiples dimensiones y le muestra una animación de la proyección 2D de la rotación. Puede ralentizar o pausar la rotación cuando vea patrones interesantes.

Greg Snow
fuente
Una herramienta muy buena, que también funciona con R.
Yves
2

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.

Bitwise
fuente
1

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

Estudiante
fuente
1

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").

ingrese la descripción de la imagen aquí

ziyuang
fuente
1

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.

James LI
fuente