Eu tenho amostras de duas classes que são vetores no espaço de alta dimensão e quero plotá-las em 2D ou 3D.
Conheço as técnicas de redução de dimensionalidade, mas preciso de uma ferramenta realmente simples e fácil de usar (em matlab, python ou um .exe pré-construído).
Também me pergunto se a representação em 2D será "significativa"? (Por exemplo, como duas classes se cruzam ou podem ser separáveis).
Que tal um gráfico de coordenadas paralelas?
http://www.mathworks.com/help/stats/parallelcoords.html
fonte
A abordagem clássica seria usar o PCA ( Principal Component Analysis ) para realizar uma redução linear da dimensionalidade. Essencialmente, isso projeta seus dados em um espaço de menor dimensão (no caso 2D, isso é simplesmente um plano), preservando o máximo possível da variação dos dados.
A execução do PCA geralmente envolve a execução de um único comando na maioria das linguagens de programação, portanto, é muito simples.
Lembre-se de que é possível que seus dados não possam ser representados com precisão em 2 ou 3 dimensões. O PCA fornecerá automaticamente uma estimativa quantitativa disso: informará qual porcentagem da variação é capturada pela representação dimensional dimensional resultante. Isso lhe dará uma sensação da quantidade de informações que você perde ao observar essa visualização simplificada.
fonte
Apenas para adicionar meus 5 centavos. A biblioteca python Scikit-Learn possui muitos algoritmos para isso:
http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#example-manifold-plot-compare-methods-py
fonte
A probabilidade de associação à classe é um ótimo método de redução de dimensão. A probabilidade de participação em A vs. B varia de 0 a 1. Você pode fazer um gráfico de vs para todas as suas amostras. p ( B | x i )p(A|xi) p(B|xi)
Considere o exemplo a seguir para opções de exibição. http://www.mathworks.com/help/stats/gmdistribution.cluster.html
fonte
Além da sugestão do @ juampa, você também deve tentar o NeRV (Neighbour Retrieval Visualizer), que " é uma abordagem baseada em recuperação de informações baseada em princípios para a redução não linear da dimensionalidade ", e o SNE / t-SNE pode ser visto como casos especiais de NeRV. O ponto principal do NeRV é minimizar a troca do recall e a precisão entre o espaço original e a exibição. O NeRV é fornecido como uma ferramenta de linha de comando escrita em C ++.
Uma imagem de demonstração em seu site: o resultado da esquerda enfatiza mais o recall (menos "erros"), enquanto o da direita enfatiza mais a precisão (menos "falsos vizinhos").
fonte
Se você não se opõe ao software comercial, pode experimentar o software VisuMap, que implementa dezenas de algoritmos de mapeamento linear e não linear para dados de alta dimensão, incluindo métodos como PCA, LDA, SMACOF, TSNE, CCA, Sammon, Kohonen Map etc.
fonte