Apakah masuk akal untuk menggunakan pemilihan fitur sebelum Random Forest?

Jawaban:

6

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.

Soren Havelund Welling
sumber
5
Kemampuan data untuk memberi tahu Anda bahwa fitur tidak berguna sangat terbatas, dan saya harap opsi yang Anda rujuk diintegrasikan ke dalam algoritma hutan acak. Tidaklah tepat untuk melakukan penghapusan fitur di muka sebelum mengirim fitur kandidat ke algoritma forest random.
Frank Harrell
@ FrankHarrell, saya telah mencoba menguraikan jawaban saya
Soren Havelund Welling
2
Saya tidak setuju bahwa Anda memilih aturan penilaian yang berbeda untuk tujuan yang berbeda. Aturan penilaian akurasi yang tidak tepat mengarah ke pemilihan fitur yang salah dan memberi mereka bobot yang salah. Yang lebih jelas adalah kesewenang-wenangan dalam aturan penilaian tertentu. Jauh lebih baik untuk memilih model prediksi yang optimal dan kemudian menggunakan teori keputusan yang solid untuk membuat keputusan optimal menggunakan model itu. Ini dilakukan dengan menerapkan fungsi utilitas untuk prediksi yang berkelanjutan.
Frank Harrell
1
@ Frankharrell - dapatkah Anda memberikan jawaban terperinci untuk pertanyaan ini? rupanya Anda memiliki beberapa argumen kuat yang menentang dilakukannya pemilihan fitur ...
ihadanny
1
c