Kapan tepat menggunakan PCA sebagai langkah preproses?

8

Saya mengerti bahwa PCA digunakan untuk reduksi dimensionalitas agar dapat merencanakan dataset dalam 2D ​​atau 3D. Tetapi saya juga melihat orang yang menerapkan PCA sebagai langkah preprocessing dalam skenario klasifikasi di mana mereka menerapkan PCA untuk mengurangi jumlah fitur, kemudian mereka menggunakan beberapa Komponen Utama (vektor eigen dari matriks kovarians) sebagai fitur baru.

Pertanyaan saya:

  • Apa dampaknya terhadap kinerja klasifikasi?

  • Kapan menerapkan langkah preprocessing seperti itu?

  • Saya memiliki dataset dengan 10 fitur sebagai bilangan real dan 600 fitur biner yang mewakili fitur kategorikal, menggunakan pengkodean satu ke banyak untuk mewakili mereka. Apakah menerapkan PCA di sini masuk akal dan membuat hasil yang lebih baik?

ps jika pertanyaannya terlalu luas, saya akan berterima kasih jika Anda memberikan makalah atau tutorial yang menjelaskan lebih baik detail menggunakan PCA dengan cara itu.

ps setelah membaca sedikit, saya menemukan bahwa bisa lebih baik menggunakan Latent Semantic Analysis untuk mengurangi jumlah fitur biner untuk atribut kategorikal? Jadi saya tidak menyentuh fitur bernilai nyata, tetapi hanya preprocess fitur biner dan kemudian menggabungkan fitur bernilai nyata dengan fitur baru dan melatih classifier saya. Bagaimana menurut anda?

Jack Twain
sumber

Jawaban:

5

Menggunakan PCA untuk pemilihan fitur (menghapus fitur yang tidak dapat diprediksi) adalah cara yang sangat mahal untuk melakukannya. Alga PCA seringkali O (n ^ 3). Alih-alih pendekatan yang jauh lebih baik dan lebih efisien adalah dengan menggunakan ukuran saling ketergantungan antara fitur dan kelas - untuk Informasi Saling Ini cenderung berkinerja sangat baik, lebih lanjut itu satu-satunya ukuran ketergantungan yang a) sepenuhnya digeneralisasikan dan b) sebenarnya memiliki landasan filosofis yang baik berdasarkan divergensi Kullback-Leibler.

Sebagai contoh, kami menghitung (menggunakan perkiraan probabilitas maksimum kemungkinan dengan beberapa smoothing)

MI-di atas yang diharapkan = MI (F, C) - E_ {X, N} [MI (X, C)]

di mana istilah kedua adalah 'informasi timbal balik yang diharapkan diberikan N contoh'. Kami kemudian mengambil fitur M teratas setelah mengurutkan berdasarkan MI-di atas yang diharapkan.

Alasan mengapa seseorang ingin menggunakan PCA adalah jika seseorang mengharapkan bahwa banyak fitur sebenarnya tergantung. Ini akan sangat berguna untuk Naif Bayes di mana kemerdekaan diasumsikan. Sekarang set data yang saya kerjakan selalu terlalu besar untuk menggunakan PCA, jadi saya tidak menggunakan PCA dan kita harus menggunakan metode yang lebih canggih. Tetapi jika dataset Anda kecil, dan Anda tidak punya waktu untuk menyelidiki metode yang lebih canggih, maka silakan saja dan terapkan PCA out-of-box.

samthebest
sumber