Semuanya ada dalam judul, apakah masuk akal untuk menggunakan pemilihan fitur sebelum menggunakan hutan acak?
Semuanya ada dalam judul, apakah masuk akal untuk menggunakan pemilihan fitur sebelum menggunakan hutan acak?
Jawaban:
Ya itu dan itu sangat umum. Jika Anda mengharapkan lebih dari ~ 50% dari fitur Anda bahkan tidak berlebihan tetapi sama sekali tidak berguna. Misalnya paket randomForest memiliki fungsi wrapper rfcv () yang akan melakukan pretrain acak dan menghilangkan variabel yang paling tidak penting. Fungsi rfcv merujuk pada bab ini . Ingatlah untuk menanamkan pemilihan fitur + pemodelan dalam loop validasi silang luar untuk menghindari hasil yang terlalu optimis.
[edit di bawah]
Saya bisa memoderasi "sama sekali tidak berguna". Sebuah hutan acak tunggal akan paling sering tidak seperti misalnya regresi dengan regularisasi laso benar-benar mengabaikan fitur, bahkan jika ini (dalam simulasi belakang) adalah fitur acak. Pemisahan pohon keputusan berdasarkan fitur dipilih oleh kriteria lokal dalam salah satu dari ribuan atau jutaan node dan nantinya tidak dapat dibatalkan. Saya tidak menganjurkan pemotongan fitur ke satu pilihan unggul, tetapi untuk beberapa set data dimungkinkan untuk mencapai peningkatan substansial dalam kinerja prediksi (diperkirakan dengan validasi silang luar berulang ) menggunakan pemilihan variabel ini. Temuan khasnya adalah bahwa menjaga 100% fitur atau hanya beberapa persen berfungsi kurang baik, dan kemudian bisa ada rentang menengah yang luas dengan perkiraan kinerja prediksi yang sama.
Mungkin aturan praktis yang masuk akal: Ketika seseorang berharap bahwa regularisasi seperti laso akan berfungsi lebih baik daripada regularisasi seperti punggungan untuk masalah yang diberikan, maka seseorang dapat mencoba pra-pelatihan hutan acak dan peringkat fitur oleh bagian dalam kantong variabel lintas-validasi kepentingan dan coba turunkan beberapa fitur yang paling tidak penting . Variabel kepentingan menghitung seberapa banyak prediksi model yang divalidasi silang menurun, ketika fitur yang diberikan diijinkan (nilai dikocok) setelah pelatihan, sebelum prediksi. Seseorang tidak akan pernah yakin apakah satu fitur spesifik harus dimasukkan atau tidak, tetapi kemungkinan lebih mudah untuk diprediksi oleh fitur 5% teratas, daripada 5% terbawah.
Dari sudut pandang praktis, run time komputasi dapat diturunkan, dan mungkin beberapa sumber daya dapat dihemat, jika ada biaya perolehan tetap per fitur.