Saya ingin menambahkan dua sen ke ini karena saya pikir jawaban yang ada tidak lengkap.
Melakukan PCA dapat sangat berguna sebelum melatih hutan acak (atau LightGBM, atau metode berbasis pohon keputusan lainnya) untuk satu alasan tertentu yang saya ilustrasikan dalam gambar di bawah ini.
Pada dasarnya, ini dapat membuat proses menemukan batas keputusan yang sempurna jauh lebih mudah dengan menyelaraskan set latihan Anda di sepanjang arah dengan varians tertinggi.
Pohon keputusan sensitif terhadap rotasi data, karena batas keputusan yang mereka buat selalu vertikal / horizontal (yaitu tegak lurus terhadap salah satu sumbu). Oleh karena itu, jika data Anda terlihat seperti gambar kiri, akan dibutuhkan pohon yang jauh lebih besar untuk memisahkan kedua klaster ini (dalam hal ini adalah pohon 8 layer). Tetapi jika Anda menyelaraskan data Anda di sepanjang komponen utamanya (seperti di gambar kanan), Anda dapat mencapai pemisahan sempurna hanya dengan satu lapisan!
Tentu saja, tidak semua dataset didistribusikan seperti ini, jadi PCA mungkin tidak selalu membantu, tetapi masih berguna untuk mencobanya dan melihat apakah itu benar. Dan hanya pengingat, jangan lupa untuk menormalkan ulang dataset Anda ke varian unit sebelum melakukan PCA!
PS: Untuk pengurangan dimensionalitas, saya akan setuju dengan orang-orang lain karena biasanya tidak masalah besar untuk hutan acak seperti untuk algoritma lainnya. Tapi tetap saja, ini mungkin sedikit membantu mempercepat latihan Anda. Waktu pelatihan pohon keputusan adalah O (n m log (m)), di mana n adalah jumlah instance pelatihan, m - jumlah dimensi. Dan meskipun hutan acak secara acak memilih subset dimensi untuk setiap pohon yang akan dilatih, semakin rendah fraksi dari jumlah total dimensi yang Anda pilih, semakin banyak pohon yang perlu Anda latih untuk mencapai kinerja yang baik.
mtry
parameter) untuk membangun setiap pohon. Ada juga teknik penghapusan fitur rekursif yang dibangun di atas algoritma RF (lihat paket varSelRF R dan referensi di dalamnya). Namun demikian, tentu mungkin untuk menambahkan skema pengurangan data awal, meskipun harus menjadi bagian dari proses cross-validasi. Jadi pertanyaannya adalah: apakah Anda ingin memasukkan kombinasi linier fitur Anda ke RF?