Візуалізація даних високих розмірів


11

У мене є зразки двох класів, які є векторами у просторі великого розміру, і я хочу побудувати їх у 2D або 3D.

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

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

Відповіді:


8

Ви можете спробувати tSNE . Це досить просто у використанні. Він працює з Octave, крім Matlab та Python. Погляньте на керівництво, щоб отримати перший сюжет протягом хвилини.


10

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


Дійсно, дуже хороший інструмент, який також працює з Р.
Ів,


2

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

Запуск PCA зазвичай передбачає виконання однієї команди на більшості мов програмування, тому це дуже просто.

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



1

Ймовірність приналежності до класу - чудовий метод зменшення розмірності. вірогідність членства в A проти B коливається від 0 до 1. Ви можете скласти графік vs для всіх ваших зразків. p ( B | x i )p(A|xi)p(B|xi)

Розглянемо наступний приклад для параметрів відображення. http://www.mathworks.com/help/stats/gmdistribution.cluster.html


1

Окрім пропозиції @ juampa, слід також спробувати NeRV (Neighbor Retrieval Visualizer), який " є принциповим підходом до пошуку інформації до нелінійного зменшення розмірності ", а SNE / t-SNE можна розглядати як особливі випадки NeRV. Основним моментом NeRV є мінімізація компромісу відкликання та точності між оригінальним простором та дисплеєм. NeRV надається як інструмент командного рядка, написаний на C ++.

Демографічна картинка з їх веб-сайту: лівий результат більше підкреслює відкликання (менше "промахів"), а правий більше акцентує увагу на точності (менше "помилкових сусідів").

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


1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.