Визуализация данных больших размеров

11

У меня есть образцы двух классов, которые являются векторами в многомерном пространстве, и я хочу построить их в 2D или 3D.

Я знаю о методах уменьшения размерности, но мне нужен действительно простой и легкий в использовании инструмент (в matlab, python или в готовом .exe).

Также мне интересно, будет ли представление в 2D "значимым"? (Например, как два класса пересекаются или могут быть разделены).

mrgloom
источник

Ответы:

8

Вы можете попробовать tSNE . Это довольно просто в использовании. Работает с Octave, в дополнение к Matlab и Python. Посмотрите на руководство, чтобы получить первый сюжет в течение минуты.

jpmuc
источник
10

Одним из готовых инструментов для визуализации данных больших размеров является ggobi . Он позволяет раскрасить точки для представления групп, а затем имеет несколько вариантов уменьшения больших размеров до двухмерного представления. Один из особенно полезных инструментов - это 2D-тур, который вращает облако данных в нескольких измерениях и показывает анимацию 2D-проекции вращения. Вы можете замедлить или приостановить вращение, когда увидите интересные шаблоны.

Грег Сноу
источник
Действительно, очень хороший инструмент, который также работает с Р.
Ив
2

Классический подход заключается в использовании PCA ( Анализ главных компонентов ) для выполнения линейного уменьшения размерности. По сути, это проецирует ваши данные в пространство меньшего размера (в 2D-случае это просто плоскость), сохраняя при этом максимально возможную дисперсию данных.

Запуск PCA обычно включает в себя выполнение одной команды на большинстве языков программирования, поэтому это очень просто.

Вы должны помнить, что возможно, что ваши данные не могут быть точно представлены в 2 или 3 измерениях. PCA автоматически даст вам количественную оценку этого: он сообщит вам, какой процент отклонения будет получен в результате представления в низкомерном виде. Это даст вам ощущение того, сколько информации вы потеряете, глядя на эту упрощенную визуализацию.

побитовое
источник
1

Помимо предложения @ juampa, вам также следует попробовать NeRV (Neighbour Retrieval Visualizer), который « представляет собой основанный на поиске информации подход к нелинейному уменьшению размерности », а SNE / t-SNE можно рассматривать как особые случаи NeRV. Основная цель NeRV - минимизировать компромисс между отзывом и точностью между оригинальным пространством и дисплеем. NeRV предоставляется как инструмент командной строки, написанный на C ++.

Демонстрационная картина с их веб-сайта: левый результат делает больший акцент на отзыве (меньше «промахов»), а правый - больше на точности (меньше «ложных соседей»).

введите описание изображения здесь

ziyuang
источник
1

Если у вас нет возражений против коммерческого программного обеспечения, вы можете попробовать программное обеспечение VisuMap, которое реализует десятки алгоритмов линейного и нелинейного отображения для данных больших размеров, включая такие методы, как PCA, LDA, SMACOF, tSNE, CCA, Sammon, Kohonen Map и т. Д.

Джеймс Ли
источник