Salah satu metodologi untuk memilih subset dari fitur Anda yang tersedia untuk classifier Anda adalah memberi peringkat berdasarkan kriteria (seperti perolehan informasi) dan kemudian menghitung akurasi menggunakan classifier Anda dan subset dari fitur peringkat.
Misalnya, jika fitur Anda adalah A, B, C, D, E
, dan jika peringkatnya adalah sebagai berikut D,B,C,E,A
, maka Anda menghitung akurasinya dengan menggunakan D
, D, B
lalu D, B, C
, kemudian D, B, C, E
... hingga akurasi Anda mulai berkurang. Setelah mulai berkurang, Anda berhenti menambahkan fitur.
Dalam example1 (di atas), Anda akan memilih fitur F, C, D, A
dan menjatuhkan fitur lain karena mereka mengurangi akurasi Anda.
Metodologi itu mengasumsikan bahwa menambahkan lebih banyak fitur ke model Anda meningkatkan akurasi classifier Anda sampai titik tertentu setelah itu menambahkan fitur tambahan mengurangi akurasi (seperti terlihat pada contoh 1)
Namun, situasiku berbeda. Saya telah menerapkan metodologi yang dijelaskan di atas dan saya menemukan bahwa menambahkan lebih banyak fitur menurunkan akurasi hingga titik setelah itu meningkat.
Dalam skenario seperti ini, bagaimana Anda memilih fitur Anda? Apakah Anda hanya mengambil F
dan menjatuhkan sisanya? Apakah Anda tahu mengapa keakuratan akan menurun dan kemudian meningkat?
sumber
Tentang pertanyaan spesifik
Anda seharusnya tidak mengharapkan perilaku tertentu (menambah dan kemudian mengurangi keakuratan) saat Anda memilih subset fitur, karena ini akan sepenuhnya tergantung pada masalah (dan masing-masing model)
Ketika Anda menghitung variabel pentingnya fitur, Anda memperhitungkan kontribusi semua fitur pada saat yang bersamaan. Setelah Anda memilih subset fitur dan membangun model baru, Anda akan mendapatkan representasi atau pemodelan masalah yang berbeda (yang tidak memperhitungkan fitur-fitur lainnya - informatif atau tidak -).
Sekarang, Anda ingin memilih jumlah fitur terbaik. Ini juga akan tergantung dari masalah Anda dan karakteristik atau kondisi yang harus Anda penuhi. Jika Anda benar-benar perlu memiliki lebih sedikit fitur yang mungkin sambil mengoptimalkan akurasi prediksi, Anda dapat memilih jumlah fitur terendah yang mencapai kesalahan terendah ... dan, jika Anda memiliki kasus yang berbeda dengan kesalahan yang sangat mirip, kemudian pilih ambang, amati kasing atas yang memiliki perbedaan kesalahan berpasangan lebih rendah dari ambang, dan pilih satu (misalnya yang memiliki jumlah fitur yang lebih rendah - karena kesalahannya sedikit sama -).
Pertimbangkan Penghapusan Fitur Rekursif
Metode yang Anda gunakan mungkin bukan pendekatan yang paling stabil. Anda harus mempertimbangkan untuk mencoba sesuatu seperti penghapusan fitur rekursif (RFE), metode pembungkus di mana Anda membangun classifier, peringkat semua fitur, menghapus yang terburuk dan membangun kembali model pada fitur yang tersisa. Kemudian Anda ulangi metode ini lagi. Ini akan cenderung lebih stabil ... dan Anda harus mengharapkan peringkat yang berbeda setiap kali.
Varians juga merupakan faktor kritis
Di luar kesalahan aktual (atau akurasi) yang diberikan model kepada Anda dengan setiap subset, Anda harus mempertimbangkan untuk membangun setiap model melalui prosedur validasi silang dan memperhitungkan kesalahan rata-rata lipatan, dan standar deviasi dari kesalahan ini. Jika standar deviasi tinggi, maka subset fitur yang dipilih tidak stabil, dan akan cenderung bervariasi ketika menguji dengan data yang tidak terlihat. Ini penting untuk mengevaluasi kemampuan generalisasi yang diharapkan dari model, dan dapat membantu untuk memutuskan antara model (dibangun dengan himpunan bagian yang berbeda).
sumber
Anda perlu menghapus fitur yang tidak berguna dan tidak relevan dari kumpulan data Anda. Dapat dilihat bahwa ada fitur yang tidak relevan dan berlebihan dalam kumpulan data Anda.
Saya sarankan Anda untuk melihat algoritma minimum Redundancy Maximum Relevance Feature Selection (MRMR). Ini adalah filter yang sangat populer dan kuat sebelum Anda melatih model.
"Namun, situasi saya berbeda. Saya telah menerapkan metodologi yang dijelaskan di atas dan saya menemukan bahwa menambahkan lebih banyak fitur mengurangi akurasi hingga titik setelah itu meningkat"
Itu juga mungkin, tetapi ini akan mengarah pada model yang lebih kompleks.
sumber
Secara umum ada tiga kelas algoritma pemilihan fitur.
Metode filter yang menganalisis properti intrinsik data dan menetapkan skor untuk setiap fitur, tidak melibatkan model apa pun. Beberapa contoh adalah perubahan lipat, uji-t siswa.
Metode pembungkus yang subset fitur yang berbeda dipilih melalui algoritma spesifik. Kami kemudian masuk ke dalam klasifikasi atau model regresi untuk mengevaluasi setiap seleksi dan memilih yang dengan nilai kebugaran terbaik. Beberapa contoh adalah Algoritma Genetika untuk pemilihan fitur, optimisasi Monte Carlo untuk pemilihan fitur, pemilihan bertahap maju / mundur.
Metode tertanam yang memungkinkan model itu sendiri untuk memilih fitur yang memiliki kontribusi terbaik untuk kebugaran model. Yang khas adalah LASSO, regresi ridge.
Berikut adalah artikel yang bagus dalam rincian pengantar pemilihan fitur .
sumber