Apa Itu Principal Component Analysis (PCA)?

Apa Itu Principal Component Analysis (PCA)?

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:

Data 2 gen dari 6 kelinci

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.

Ilustrasi scatter plot PCA

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:

Tambahan variabel ketiga (gen 3) di dataset

Dengan memiliki 3 variabel, maka kita juga bisa membuat scatter plot 3 dimensi (3D). Hasilnya tampak sebagai berikut:

Scatter plot untuk 3 variabel

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:

Dataset baru dnegan tambahan variabel keempat

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.

Bagikan artikel ini:

Pages: 1 2 3

Leave a Reply

avatar
  Subscribe  
Notify of