Panduan visual

Apa Itu PCA? Reduksi Dimensi untuk Visualisasi Data

Ketika puluhan fitur membuat data sulit dibaca, PCA membantu kita menemukan arah yang paling banyak menyimpan informasi.

Tim EditorialDiperbarui 22 Jul 202612 menit baca1478 kata
Ilustrasi artikel Apa Itu PCA? Reduksi Dimensi untuk Visualisasi Data
Visual pembuka untuk Reduksi Dimensi · Setosa PCA dan scikit-learn
Dalam artikel ini
01

Mengapa data berdimensi tinggi sulit dibaca dan kapan PCA membantu.

02

Bagaimana principal component, variance, dan proyeksi bekerja secara visual.

03

Cara memilih jumlah komponen, mencoba PCA dengan Python, dan membaca batasannya.

Bayangkan sebuah dataset dengan seratus kolom. Semuanya terlihat penting, beberapa ternyata saling mengulang, dan kita bahkan tidak bisa menggambarkan bentuk datanya. Di sinilah PCA mulai berguna.

PCA menyederhanakan data tanpa menghilangkan cerita utamanya.
Visual 1 PCA merangkum banyak fitur menjadi beberapa arah yang paling informatif.

Ketika Terlalu Banyak Fitur Menjadi Masalah

Dalam praktik machine learning, masalahnya tidak selalu terletak pada model. Data juga bisa membuat pekerjaan menjadi rumit: jumlah fiturnya terlalu banyak, beberapa kolom membawa pola serupa, sementara sebagian lainnya lebih banyak menambah noise.

Setiap fitur adalah satu dimensi. Karena itu, dataset dengan seratus fitur hidup di ruang seratus dimensi. Komputer masih dapat menghitungnya, tetapi kita akan kesulitan melihat pola, memeriksa outlier, atau menjelaskan hubungan antardata secara langsung.

  • Beberapa fitur saling tumpang tindih.
  • Sebagian fitur mengulang sinyal yang sudah ada.
  • Sebagian fitur lebih banyak membawa noise daripada informasi.
  • Proses training dapat menjadi lebih lambat dan hasilnya lebih sulit dijelaskan.
Pertanyaan PCA sebenarnya sederhana: bisakah kita memakai lebih sedikit dimensi, tetapi tetap mempertahankan sebagian besar pola penting dalam data?
Masalah utama PCA: terlalu banyak dimensi, noise, dan redundansi.
Visual 2 Banyak dimensi membuat pola data sulit terlihat dan sering menyimpan informasi yang berulang.

Apa Itu PCA?

Principal Component Analysis, atau PCA, adalah metode untuk membentuk sumbu baru dari gabungan fitur asli. Sumbu baru ini disebut principal component. PCA lalu mengurutkannya dari komponen yang paling banyak menangkap variasi data sampai yang paling sedikit.

Variasi di sini diukur dengan variance, yaitu seberapa jauh nilai menyebar dari rata-ratanya. Arah dengan penyebaran terbesar menjadi PC1. Arah berikutnya, yang harus tegak lurus terhadap PC1, menjadi PC2, lalu proses yang sama berlanjut ke komponen berikutnya.

Singkatnya, PCA membuat sistem koordinat yang lebih cocok dengan bentuk data, lalu menyimpan beberapa arah yang paling informatif.

Cara Termudah Membayangkan PCA

Bayangkan titik-titik pada grafik membentuk awan yang memanjang secara diagonal. Sumbu horizontal dan vertikal masih dapat dipakai, tetapi keduanya tidak mengikuti arah utama awan tersebut.

PCA seolah memutar penggaris hingga sejajar dengan arah terpanjang awan. Arah itu menjadi PC1. Setelah itu, PCA membuat PC2 yang tegak lurus terhadap PC1 untuk menangkap sisa variasi. Jadi, PCA tidak langsung membuang kolom. Ia terlebih dahulu mengubah orientasi ruang data, baru memilih arah yang ingin dipertahankan.

Intuisi PCA: memutar ruang data untuk menemukan arah variasi terbesar.
Visual 3 PC1 mengikuti arah penyebaran terbesar, sedangkan PC2 menangkap variasi yang tersisa.

Principal Component Bukan Kolom Asli

Ini bagian yang sering membingungkan. Principal component bukan fitur yang sudah ada di dataset, melainkan kombinasi berbobot dari fitur-fitur asli. Jika datanya berisi nilai matematika, fisika, dan kimia, salah satu komponen dapat berbentuk seperti ini:

PC1 = 0.58 × matematika + 0.57 × fisika + 0.58 × kimia

PC1 bukan nilai satu mata pelajaran. Ia adalah skor baru yang merangkum ketiganya. Angka 0,58 atau 0,57 disebut loading, yaitu bobot yang menunjukkan seberapa kuat setiap fitur membentuk komponen tersebut.

Karena itu, PCA berbeda dari memilih kolom terbaik. PCA justru membuat kolom baru dari gabungan kolom lama.

Principal component sebagai kombinasi berbobot dari fitur asli.
Visual 4 Setiap principal component dibentuk oleh kontribusi beberapa fitur asli.

Contoh Praktis: Dataset Nilai Siswa

Supaya lebih konkret, mari gunakan empat fitur: nilai matematika, fisika, kimia, dan biologi. Nilai-nilai ini mungkin berkorelasi. Siswa dengan pemahaman sains yang kuat sering memperoleh hasil yang relatif baik di beberapa mata pelajaran sekaligus.

PCA dapat menangkap pola bersama tersebut. PC1 mungkin menjadi ringkasan umum kemampuan sains, sedangkan PC2 menangkap perbedaan yang lebih spesifik, misalnya kecenderungan antara pelajaran eksakta dan biologi. Nama itu adalah interpretasi kita, bukan label yang diberikan otomatis oleh PCA.

PCA tidak sekadar mengurangi jumlah kolom. Ia merangkum pola bersama dan mengurangi informasi yang berulang antarfitur.
Contoh praktis: beberapa nilai mapel dirangkum menjadi komponen utama.
Visual 5 Empat nilai yang berkorelasi dapat dirangkum menjadi satu atau dua komponen utama.

Cara Kerja PCA, Langkah demi Langkah

Kita tidak harus menghitung PCA dengan tangan setiap kali bekerja. Namun, memahami urutannya membuat kita lebih mudah memeriksa apakah hasil transformasi masih masuk akal.

  1. Standarisasi data. Samakan skala fitur agar kolom dengan angka besar tidak mendominasi hanya karena satuannya.
  2. Hitung covariance matrix. Matriks ini menggambarkan bagaimana pasangan fitur berubah bersama.
  3. Cari eigenvector dan eigenvalue. Eigenvector menunjukkan arah komponen, sedangkan eigenvalue menunjukkan banyaknya variasi yang ditangkap.
  4. Urutkan komponen. Komponen dengan eigenvalue terbesar ditempatkan lebih dahulu.
  5. Proyeksikan data. Data asli dipindahkan ke ruang baru menggunakan komponen yang dipilih.

Hasil akhirnya adalah dataset baru dengan jumlah kolom lebih sedikit. Setiap baris masih mewakili observasi yang sama, hanya koordinatnya sekarang dinyatakan sebagai PC1, PC2, dan seterusnya.

Alur kerja PCA secara high level.
Visual 6 Dari standarisasi sampai proyeksi, setiap tahap menentukan kualitas representasi akhir.

Explained Variance: Berapa Banyak yang Masih Tersimpan?

Setelah PCA dijalankan, kita perlu menentukan jumlah komponen yang akan dipertahankan. Di sinilah explained variance ratio berguna. Nilai ini menunjukkan proporsi variasi total yang dijelaskan oleh setiap komponen.

Misalnya PC1 menjelaskan 52%, PC2 23%, PC3 11%, dan PC4 6%. Dua komponen pertama berarti menyimpan 75% variasi. Apakah itu cukup? Jawabannya bergantung pada kebutuhan. Visualisasi eksploratif mungkin masih berguna dengan dua komponen, sedangkan pipeline prediksi bisa membutuhkan lebih banyak.

Jumlah komponen bukan angka sakral. Pilih berdasarkan explained variance, tujuan analisis, dan performa proses setelah PCA.
Explained variance membantu menentukan jumlah komponen yang dipertahankan.
Visual 7 Kurva cumulative explained variance membantu kita melihat manfaat setiap komponen tambahan.

Mengapa Standarisasi Penting?

PCA mengejar variance. Akibatnya, fitur dengan rentang angka besar dapat terlihat paling penting meskipun secara konteks belum tentu demikian.

Bayangkan fitur pendapatan memiliki nilai puluhan juta, sedangkan skor kepuasan berada pada skala 1 sampai 10. Tanpa standarisasi, pendapatan dapat mendominasi komponen hanya karena satuannya jauh lebih besar. StandardScaler membantu membuat keduanya berada pada skala yang sebanding.

Standarisasi umumnya diperlukan ketika fitur memakai satuan atau rentang yang berbeda. Jika semua fitur sudah berada pada skala yang setara, keputusan ini tetap perlu diperiksa berdasarkan konteks data.

Mengubah Puluhan Dimensi Menjadi Visual 2D atau 3D

Kita dapat menghitung data berdimensi tinggi, tetapi tidak dapat melihat ruang dengan 40 atau 100 sumbu. PCA menjembatani keterbatasan itu dengan memproyeksikan data ke dua atau tiga komponen utama.

Plot hasil PCA dapat membantu menemukan cluster, outlier, dan pola global. Namun, kita perlu mengingat bahwa plot tersebut adalah proyeksi. Titik yang tampak berdekatan di 2D belum tentu sama dekatnya ketika seluruh dimensi diperhitungkan.

Karena itu, PCA cocok dipakai sebagai alat eksplorasi sebelum clustering, klasifikasi, regresi, atau anomaly detection, bukan sebagai bukti tunggal bahwa suatu pola pasti benar.

PCA membantu memvisualisasikan data berdimensi tinggi ke ruang 2D/3D.
Visual 8 Proyeksi 2D dan 3D membuat struktur global lebih mudah dibaca, tetapi tetap menyisakan informasi di dimensi lain.

PCA, Feature Selection, dan Clustering Itu Berbeda

Ketiganya sering muncul dalam pipeline yang sama, tetapi menjawab pertanyaan yang berbeda.

  • Feature selection memilih sebagian fitur asli dan mempertahankan makna kolomnya.
  • PCA membentuk komponen baru dari kombinasi fitur asli.
  • Clustering mengelompokkan observasi berdasarkan kemiripan.

Jika kita perlu mengetahui kolom asli mana yang paling penting, feature selection lebih mudah dijelaskan. Jika tujuannya memadatkan ruang fitur yang saling berkorelasi, PCA lebih sesuai. Jika kita ingin menemukan kelompok tanpa label, barulah clustering digunakan.

PCA juga dapat ditempatkan sebelum clustering untuk mengurangi redundansi. Meski begitu, hasil clustering sebelum dan sesudah PCA tetap perlu dibandingkan, bukan diasumsikan pasti lebih baik.

Perbedaan PCA, feature selection, dan clustering.
Visual 9 Memilih fitur, membentuk komponen, dan mencari kelompok adalah tiga pekerjaan yang berbeda.

Kapan PCA Layak Dipakai?

PCA layak dicoba ketika dataset memiliki banyak fitur numerik yang berkorelasi, visualisasi sulit dilakukan, atau pipeline membutuhkan representasi yang lebih ringkas. Pada data citra, sinyal, atau pengukuran sensor, jumlah fitur yang besar membuat kebutuhan ini cukup umum.

Namun, ada konsekuensinya. Komponen baru lebih sulit dijelaskan karena mencampur banyak fitur. Menghapus terlalu banyak komponen juga berarti membuang variasi. Selain itu, PCA bersifat linear sehingga struktur non-linear yang kompleks bisa tidak tertangkap dengan baik.

Yang paling penting, PCA mengoptimalkan variance, bukan target prediksi. Fitur bervariasi rendah tetap bisa penting untuk membedakan kelas. Karena itu, nilai model sebelum dan sesudah PCA sebaiknya selalu dibandingkan dengan data validasi.

Kelebihan, keterbatasan, dan inti PCA.
Visual 10 PCA memberi representasi yang ringkas dengan trade-off pada interpretasi dan informasi yang dibuang.

Mencoba PCA dengan Python

Contoh berikut memakai StandardScaler untuk menyamakan skala, lalu mempertahankan dua principal component dengan scikit-learn.

from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
import numpy as np

# Contoh data: [matematika, fisika, kimia, biologi]
X = np.array([
    [85, 88, 90, 84],
    [78, 75, 80, 79],
    [92, 95, 94, 91],
    [60, 65, 63, 62],
    [70, 72, 68, 71]
])

# Standarisasi data
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Mengurangi data menjadi 2 principal components
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)

print("Data setelah transformasi PCA:")
print(X_pca)

print("Explained variance ratio:")
print(pca.explained_variance_ratio_)

n_components=2 meminta PCA mempertahankan dua komponen pertama. Setelah transformasi, periksa explained_variance_ratio_ untuk mengetahui proporsi variasi yang disimpan oleh masing-masing komponen. Untuk eksperimen model, bandingkan juga performa validasi sebelum dan sesudah PCA.

Yang Perlu Kita Bawa Pulang

PCA membantu ketika ruang fitur terasa terlalu besar untuk dibaca atau diproses. Metode ini membentuk sumbu baru, mengurutkannya berdasarkan variance, lalu memproyeksikan data ke sejumlah komponen yang kita pilih.

Namun, representasi yang lebih ringkas selalu datang bersama trade-off. Sebagian informasi dibuang dan makna komponen tidak sejelas fitur asli. Karena itu, PCA sebaiknya diperlakukan sebagai keputusan eksperimen: ukur explained variance, lihat visualnya, lalu uji dampaknya pada pekerjaan berikutnya.

Cara paling aman memahami PCA adalah melihat apa yang berubah ketika jumlah komponen digeser. Teori memberi arah, tetapi perbandingan hasil membuat konsepnya benar-benar terasa.
POIN PENTING

Ringkasan praktis

  • PCA membentuk komponen baru dari kombinasi fitur asli, bukan sekadar memilih beberapa kolom.
  • Explained variance membantu menentukan berapa banyak komponen yang layak dipertahankan.
  • Standarisasi skala dan perbandingan hasil sebelum-sesudah PCA sama pentingnya dengan transformasinya.
FAQ SINGKAT

Pertanyaan yang sering muncul

Apakah PCA termasuk feature selection?

Tidak. Feature selection mempertahankan sebagian kolom asli, sedangkan PCA membentuk komponen baru dari kombinasi berbobot seluruh fitur yang digunakan.

Berapa jumlah principal component yang sebaiknya dipakai?

Tidak ada angka tunggal untuk semua dataset. Periksa cumulative explained variance, kebutuhan visualisasi, dan performa proses berikutnya. Coba beberapa nilai di lab PCA interaktif untuk melihat trade-off-nya.

Coba PCA 2D, PCA 3D, dan explained varianceUbah parameter dan lihat konsep bekerja langsung pada kanvas.
Buka lab interaktif →
RUJUKAN

Visual PCA dan dokumentasi scikit-learn

Pelajari intuisi geometris melalui Setosa, lalu cocokkan implementasinya dengan dokumentasi resmi scikit-learn.

Buka visual PCA →
BagikanXLinkedInWhatsApp
BACA JUGA

Artikel terkait