Jika sebelumnya saya sudah jabarkan tentang metode SOM (Self-organizing maps) sebagai sebuah teknik untuk mereduksi dimensi, maka ada teknik lain yang memiliki fungsi sama yaitu PCA (Principle component analysis). Jika SOM masuk ke dalam wilayah deep learning, maka PCA berada di domain machine learning. Mengapa demikian? Karena PCA tidak memerlukan arsitektur deep learning dengan beberapa neurons seperti SOM. Ia adalah metode statistik matematika klasik yang sudah lama dipakai dengan performa yang handal. Lalu apa itu PCA?
Secara singkat, PCA adalah sebuah metode bagaimana mereduksi dimensi dengan menggunakan beberapa garis/bidang yang disebut dengan principle components (PCs). Diharapkan dengan menggunakan beberapa PC, bisa memudahkan kita untuk menginterpretasikan datanya dan melihat pembagian data ke dalam beberapa cluster (namun pembagian cluster bukan tujuan utama).
Hasil akhir dari PCA adalah kita bisa mengetahui faktor apa saja yang paling berperan dalam menjelaskan fenomena yang ada di dataset dengan tetap mempertahankan karakteristik data (maximum variance).
Sekilas, PCA ini mirip sekali dengan teknik clustering seperti K-Means misalnya. Ya, keduanya memang bisa membagi data ke dalam beberapa clusters. Dengan demikian, PCA juga merupakan bagian dari unsupervised learning, yang artinya ia tidak memerlukan dependent variables.
Agar mudah memahaminya, mari kita mulai dengan sebuah iliustrasi data sebagai berikut:
Kita memiliki data dari seorang pakar biologis di mana ia memberikan data ekstrak 2 DNA dari 6 ekor kelinci. Kalau kita plotkan ke dalam sebuah scatter plot, maka tampak sebagai berikut.
Dengan mudah kita bisa menduga bahwa ada 2 clusters, yaitu 3 data di sebelah kanan, dan 3 data di sebelah kiri. Mengapa kita bisa mengetahui ada 2 clusters? Karena data di dalam masing-masing cluster saling berkelompok satu sama lain.
Dalam kasus di atas kita belum butuh PCA, karena dengan memplotkan secara visual menggunakan scatter plot kita bisa langsung mengetahui pengelompokan datanya. Hal lain yang membuat mudah adalah karakteristik datanya yang memang mudah dikelompokkan.
Persoalan mulai menjadi rumit ketika kita tambahkan 1 variabel lagi, yaitu gen ketiga. Jadi kita memiliki tambahan gen ketiga untuk 6 kelinci ini. Sekarang, tabelnya menjadi seperti ini:
Dengan memiliki 3 variabel, maka kita juga bisa membuat scatter plot 3 dimensi (3D). Hasilnya tampak sebagai berikut:
Sekarang kita memiliki scatter plot 3D. Lingkaran yang besar artinya datanya lebih dekat ke kita (sebagai pengamat), sementara lingkaran kecil artinya datanya semakin jauh.
Karena data yang dijadikan contoh memang didesain bagus, kita dengan mudah bisa melihat ada 2 cluster yang terbentuk. Dengan demikian, kita belum memerlukan PCA. Apa yang terjadi jika kita memiliki variabel keempat?
Ilustrasinya dataset dengan 4 variabel adalah sebagai berikut:
Pertanyaannya sekarang, bagaimana cara memvisualisasikan keempat variabel ini? Apakah bisa dilakukan dengan membuat scatter plot 4 dimensi? Jawabannya adalah tidak mungkin membuat visualisasi 4D, karena manusia hanya mampu menerjemahkan 3 dimensi. Lalu apa solusinya? Solusinya adalah dengan menggunakan PCA.
Dengan PCA, ia akan membuat garis-garis (bidang-bidang) yang baru, sehingga kita akan memiliki sudut pandang yang baru pula. Diharapkan dengan sudut pandang baru ini, kita bisa dengan mudah menginterpretasikan dan membaca datanya (explaining the most variance of the data). Dalam bahasa yang sederhana, kita tetap mempertahankan karakteristik datanya namun wujud datanya seakan-akan berbeda.
Sekarang mari kita bahas cara melakukan teknik PCA. Saya akan memulai penjelasannya langkah demi langkah.
Untuk kembali melanjutkan membaca, silakan klik tombol halaman selanjutnya di bawah ini.
1. Jika pca hanya fokus melakukan reduksi dimensi. Kenapa pca masuk kedalam unsupervised learning, padahal pca tidak melakukan clustering?
2. Untuk melakukan clustering berarti harus menggunakan metode lain seperti k-means? Tetapi menggunakan dimensi pc1 dan pc2?
Bisa dibaca lagi artikel saya ini, karena semua jawabannya ada di situ.
Bagaimana pca melakukan clustering?
PCA bukan merupakan teknik clustering, dan unsupervised learning tidak terbatas hanya pada teknik clustering.
Sudah dijelaskan di artikel, silakan dibaca lagi.
Misi kak, jadi kalau kt sudah punya PC1 PC2 PC3 untuk setiap data sample, bagaimana penjelasan interpretasi ditiap baris datanya ya?
Tidak mudah, karena tiap PC adalah kombinasi beberapa features. Tapi penggunaan PC jauh lebih baik daripada langsung menggunakan features aslinya yang jumlahnya jauh lebih banyak.
Saya ada beberapa pertanyaan mas:
1.Saat mendapatkan jarak antara titik pusat (0,0) dengan titik A, angka 4 dan 1 didapatkan dari mana ya mas?
2.Pada formula mencari Variasi PC1, kenapa pada pembagian eigenvalue jumlah datanya harus dikurangi 1 ya mas?
1. ada di tulisan saya bisa dibaca lagi.
2. rumus variasi memang penyebutnya n-1.
Pak Mega terima kasih atas pencerahannya. Lalu timbul pertanyaan dalam benak saya, bagaimana jika fitur datanya ribuan? Jujur saya bingung pada pengaplikasian PCA untuk reduksi dimensi data microarray yg jumlah fiturnya 7ribuan sendangkan sampel datanya tidak sampai 200. Mohon pencerahannya Pak.
Bisa diberi contoh fitur 7rban itu data seperti apa ya?
Ijin menambahkan jawaban… Susun data-data fitur dalam 1 kolom sehingga nantinya jumlah kolom = jumlah sampel… selanjutya lakukan proses PCA… hasil akhir dari PCA yg terpilih .. Susun ulang dalam bentuk matrik seperti semula…