Wizualizacja danych wielowymiarowych

11

Mam próbki dwóch klas, które są wektorami w przestrzeni wielowymiarowej i chcę je narysować w 2D lub 3D.

Wiem o technikach zmniejszania wymiarów, ale potrzebuję naprawdę prostego i łatwego w użyciu narzędzia (w Matlabie, Pythonie lub wcześniej .exe).

Zastanawiam się też, czy reprezentacja w 2D będzie „znacząca”? (Na przykład, jak dwie klasy przecinają się lub można je rozdzielić).

mrgloom
źródło

Odpowiedzi:

8

Możesz spróbować tSNE . Jest dość prosty w użyciu. Działa z Octave, oprócz Matlaba i Pythona. Spójrz na przewodnik, aby uzyskać pierwszą fabułę w ciągu minuty.

jpmuc
źródło
10

Jednym z gotowych narzędzi do wizualizacji danych wielowymiarowych jest ggobi . Pozwala pokolorować punkty, aby reprezentować grupy, a następnie ma kilka opcji zmniejszania wysokich wymiarów do reprezentacji dwuwymiarowej. Jednym szczególnie przydatnym narzędziem jest wielka trasa 2D, która zasadniczo obraca chmurę danych w wielu wymiarach i pokazuje animację projekcji 2D obrotu. Możesz spowolnić lub zatrzymać obrót, gdy zobaczysz ciekawe wzory.

Greg Snow
źródło
Rzeczywiście bardzo dobre narzędzie, które działa również z R.
Yves
2

Klasycznym podejściem byłoby zastosowanie PCA ( Principal Component Analysis ) w celu przeprowadzenia liniowej redukcji wymiarowości. Zasadniczo rzutuje to twoje dane na przestrzeń o mniejszym wymiarze (w przypadku 2D jest to po prostu płaszczyzna), zachowując przy tym jak największą różnorodność danych.

Uruchomienie PCA zwykle wymaga wykonania jednego polecenia w większości języków programowania, więc jest to bardzo proste.

Pamiętaj, że możliwe jest, że twoich danych nie można dokładnie przedstawić w 2 lub 3 wymiarach. PCA automatycznie da ci ilościowe oszacowanie tego: powie ci, jaki procent wariancji jest wychwycony przez wynikową reprezentację niskiego wymiaru. Dzięki temu poczujesz, ile informacji tracisz, patrząc na tę uproszczoną wizualizację.

Bitowe
źródło
1

Oprócz sugestii @ juampa powinieneś także wypróbować NeRV (Neighbor Retrieval Visualizer), który jestopartym na zasadach podejściem opartym na wyszukiwaniu informacji do nieliniowej redukcji wymiarów ”, a SNE / t-SNE można postrzegać jako szczególne przypadki NeRV. Głównym celem NeRV jest zminimalizowanie kompromisu wycofania i precyzji między oryginalną przestrzenią a wyświetlaczem. NeRV jest dostarczany jako narzędzie wiersza poleceń napisane w C ++.

Zdjęcie demo z ich strony internetowej: lewy wynik kładzie większy nacisk na przywołanie (mniej „braków”), podczas gdy prawy kładzie większy nacisk na precyzję (mniej „fałszywych sąsiadów”).

wprowadź opis zdjęcia tutaj

ziyuang
źródło
1

Jeśli nie masz nic przeciwko komercyjnemu oprogramowaniu, możesz wypróbować oprogramowanie VisuMap, które implementuje dziesiątki liniowych i nieliniowych algorytmów mapowania dla danych wielowymiarowych, w tym metody takie jak PCA, LDA, SMACOF, tSNE, CCA, Sammon, Kohonen Map itp.

James LI
źródło