Memvisualisasikan data dimensi tinggi

11

Saya memiliki sampel dua kelas yang merupakan vektor dalam ruang dimensi tinggi dan saya ingin memplotnya dalam 2D ​​atau 3D.

Saya tahu tentang teknik reduksi dimensi, tetapi saya membutuhkan alat yang sangat sederhana dan mudah digunakan (dalam matlab, python, atau prebuilt .exe).

Juga saya bertanya-tanya apakah representasi dalam 2D ​​akan menjadi "bermakna"? (Misalnya bagaimana dua kelas berpotongan atau dapat dipisahkan).

mrgloom
sumber

Jawaban:

8

Anda bisa mencoba tSNE . Cukup mudah digunakan. Ia bekerja dengan Oktaf, selain Matlab dan Python. Lihatlah panduan ini untuk mendapatkan plot pertama dalam satu menit.

jpmuc
sumber
10

Salah satu alat prebuilt untuk memvisualisasikan data dimensi tinggi adalah ggobi . Ini memungkinkan Anda mewarnai titik untuk mewakili grup dan kemudian memiliki beberapa opsi untuk mengurangi dimensi tinggi menjadi representasi 2 dimensi. Salah satu alat yang sangat bagus adalah tur besar 2D yang pada dasarnya memutar data cloud dalam berbagai dimensi dan menampilkan animasi proyeksi 2D rotasi. Anda dapat memperlambat atau menghentikan rotasi saat Anda melihat pola yang menarik.

Greg Snow
sumber
Memang alat yang sangat bagus, yang juga berfungsi dengan R.
Yves
2

Pendekatan klasik adalah dengan menggunakan PCA ( Principal Component Analysis ) untuk melakukan pengurangan dimensi linear. Pada dasarnya, ini memproyeksikan data Anda ke ruang dimensi yang lebih rendah (dalam kasus 2D ini hanyalah sebuah bidang) sambil tetap mempertahankan sebanyak mungkin varian data.

Menjalankan PCA biasanya melibatkan mengeksekusi perintah tunggal dalam sebagian besar bahasa pemrograman, sehingga sangat sederhana.

Anda harus ingat bahwa ada kemungkinan bahwa data Anda tidak dapat direpresentasikan secara akurat dalam 2 atau 3 dimensi. PCA secara otomatis akan memberi Anda perkiraan kuantitatif tentang ini: Ini akan memberi tahu Anda berapa persen varians yang ditangkap oleh representasi dimensi rendah yang dihasilkan. Ini akan memberi Anda perasaan tentang berapa banyak informasi yang hilang dengan melihat visualisasi yang disederhanakan ini.

Bitwise
sumber
1

Selain saran @ juampa, Anda juga harus mencoba NeRV (Neighbor Retrieval Visualizer), yang " merupakan pendekatan berbasis pencarian informasi untuk pengurangan dimensi nonlinier ", dan SNE / t-SNE dapat dilihat sebagai kasus khusus NeRV. Poin utama dari NeRV adalah untuk meminimalkan tradeoff dari penarikan dan presisi antara ruang asli dan tampilan. NeRV disediakan sebagai alat baris perintah yang ditulis dalam C ++.

Gambar demo dari situs web mereka: hasil di sebelah kiri lebih menekankan pada ingatan (lebih sedikit "kehilangan"), sedangkan yang kanan lebih menekankan pada ketepatan (lebih sedikit "tetangga palsu").

masukkan deskripsi gambar di sini

ziyuang
sumber
1

Jika Anda tidak keberatan dengan perangkat lunak komersial, Anda dapat mencoba perangkat lunak VisuMap yang mengimplementasikan puluhan algoritma pemetaan linear dan non-linear untuk data dimensi tinggi, termasuk metode seperti PCA, LDA, SMACOF, tSNE, CCA, Sammon, Peta Kohonen, dll.

James LI
sumber