У меня есть образцы двух классов, которые являются векторами в многомерном пространстве, и я хочу построить их в 2D или 3D.
Я знаю о методах уменьшения размерности, но мне нужен действительно простой и легкий в использовании инструмент (в matlab, python или в готовом .exe).
Также мне интересно, будет ли представление в 2D "значимым"? (Например, как два класса пересекаются или могут быть разделены).
Как насчет координатного участка?
http://www.mathworks.com/help/stats/parallelcoords.html
источник
Классический подход заключается в использовании PCA ( Анализ главных компонентов ) для выполнения линейного уменьшения размерности. По сути, это проецирует ваши данные в пространство меньшего размера (в 2D-случае это просто плоскость), сохраняя при этом максимально возможную дисперсию данных.
Запуск PCA обычно включает в себя выполнение одной команды на большинстве языков программирования, поэтому это очень просто.
Вы должны помнить, что возможно, что ваши данные не могут быть точно представлены в 2 или 3 измерениях. PCA автоматически даст вам количественную оценку этого: он сообщит вам, какой процент отклонения будет получен в результате представления в низкомерном виде. Это даст вам ощущение того, сколько информации вы потеряете, глядя на эту упрощенную визуализацию.
источник
Просто чтобы добавить мои 5 центов. Библиотека Python Scikit-Learn имеет много алгоритмов для этого:
http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#example-manifold-plot-compare-methods-py
источник
Рассмотрим следующий пример для параметров отображения. http://www.mathworks.com/help/stats/gmdistribution.cluster.html
источник
Помимо предложения @ juampa, вам также следует попробовать NeRV (Neighbour Retrieval Visualizer), который « представляет собой основанный на поиске информации подход к нелинейному уменьшению размерности », а SNE / t-SNE можно рассматривать как особые случаи NeRV. Основная цель NeRV - минимизировать компромисс между отзывом и точностью между оригинальным пространством и дисплеем. NeRV предоставляется как инструмент командной строки, написанный на C ++.
Демонстрационная картина с их веб-сайта: левый результат делает больший акцент на отзыве (меньше «промахов»), а правый - больше на точности (меньше «ложных соседей»).
источник
Если у вас нет возражений против коммерческого программного обеспечения, вы можете попробовать программное обеспечение VisuMap, которое реализует десятки алгоритмов линейного и нелинейного отображения для данных больших размеров, включая такие методы, как PCA, LDA, SMACOF, tSNE, CCA, Sammon, Kohonen Map и т. Д.
источник