Untuk kompetisi Kaggle baru-baru ini, saya (secara manual) mendefinisikan 10 fitur tambahan untuk set pelatihan saya, yang kemudian akan digunakan untuk melatih classifier hutan acak. Saya memutuskan untuk menjalankan PCA pada dataset dengan fitur-fitur baru, untuk melihat bagaimana mereka dibandingkan satu sama lain. Saya menemukan bahwa ~ 98% varians dibawa oleh komponen pertama (vektor eigen pertama). Saya kemudian melatih classifier beberapa kali, menambahkan satu fitur pada suatu waktu, dan menggunakan cross-validation dan RMS error untuk membandingkan kualitas klasifikasi. Saya menemukan bahwa klasifikasi ditingkatkan dengan setiap fitur tambahan, dan bahwa hasil akhir (dengan semua 10 fitur baru) jauh lebih baik daripada yang pertama dijalankan dengan (katakanlah) 2 fitur.
Mengingat bahwa PCA mengklaim ~ 98% varians ada di komponen pertama dataset saya, mengapa kualitas klasifikasi meningkat sangat banyak?
Apakah ini berlaku untuk pengklasifikasi lain? RF berskala lintas banyak inti, jadi ini jauh lebih cepat untuk melatih daripada (katakanlah) SVM.
Bagaimana jika saya telah mengubah dataset menjadi ruang "PCA", dan menjalankan classifier pada ruang yang diubah. Bagaimana hasil saya berubah?
sumber
Jawaban:
Saat melakukan pemodelan prediktif, Anda mencoba menjelaskan variasi dalam respons, bukan variasi dalam fitur. Tidak ada alasan untuk percaya bahwa menjejalkan sebanyak mungkin variasi fitur ke dalam satu fitur baru akan menangkap sejumlah besar daya prediksi fitur secara keseluruhan.
Ini sering dijelaskan sebagai perbedaan antara Regresi Komponen Utama daripada Kuadrat Terkecil Sebagian.
sumber
Boruta
. Saya belum menemukan mereka berguna. Saya merasa tidak masuk akal untuk percaya bahwa fitur yang diberikan tidak berpengaruh. Saya percaya menekankan fitur-fitur tertentu di atas yang lain bisa berguna, tetapi dasar algoritma randomForest sudah cukup baik. Jika Anda terlalu terlibat dalam pemodelan dan ingin lebih banyak kinerja, saya sarankan menumpuk algoritma lain, beberapa karena beberapa pohon didorong, dengan randomForest Anda.Komponen utama pertama adalah kombinasi linear dari semua fitur Anda. Fakta bahwa itu menjelaskan hampir semua variabilitas berarti bahwa sebagian besar koefisien variabel dalam komponen utama pertama adalah signifikan.
Sekarang pohon klasifikasi yang Anda hasilkan juga sedikit berbeda. Mereka melakukan pemisahan biner pada variabel kontinu yang memisahkan kategori terbaik yang ingin Anda klasifikasikan. Itu tidak persis sama dengan menemukan kombinasi linear ortogonal dari variabel kontinu yang memberikan arah varian terbesar. Bahkan kita baru-baru ini membahas sebuah makalah tentang CV di mana PCA digunakan untuk analisis kluster dan penulis menemukan bahwa ada situasi di mana pemisahan terbaik ditemukan tidak dalam beberapa komponen utama tetapi pada komponen terakhir.
sumber