Pertanyaan saya tiga kali lipat
Dalam konteks mesin dukungan vektor "Kernel"
- Apakah pemilihan variabel / fitur diinginkan - terutama karena kita mengatur parameter C untuk mencegah overfitting dan motif utama di balik memperkenalkan kernel ke SVM adalah untuk meningkatkan dimensi masalah, dalam kasus seperti itu mengurangi dimensi dengan pengurangan parameter tampaknya kontra-intuitif
- Jika jawaban untuk pertanyaan pertama adalah "TIDAK", maka, pada kondisi apa jawaban akan berubah yang harus diingat?
- Apakah ada metode bagus yang telah dicoba untuk membawa pengurangan fitur untuk SVM di scikit-learn library python - Saya telah mencoba metode SelectFpr dan mencari orang-orang dengan pengalaman dengan metode yang berbeda.
svm
feature-selection
scikit-learn
Nitin Srivastava
sumber
sumber
Jawaban:
Secara pribadi, saya suka membagi pemilihan fitur menjadi dua:
Pemilihan fitur yang tidak diawasi adalah hal-hal seperti pengelompokan atau PCA di mana Anda memilih rentang fitur yang paling tidak berlebihan (atau membuat fitur dengan sedikit redundansi). Pemilihan fitur yang diawasi adalah hal-hal seperti Lasso di mana Anda memilih fitur dengan daya prediksi paling besar.
Saya pribadi biasanya lebih suka apa yang saya sebut pemilihan fitur yang dilindungi. Jadi, ketika menggunakan regresi linier, saya akan memilih fitur berdasarkan Lasso. Metode serupa ada untuk menginduksi sparseness dalam jaringan saraf.
Tapi memang, saya tidak melihat bagaimana saya akan melakukan itu dalam metode menggunakan kernel, jadi Anda mungkin lebih baik menggunakan apa yang saya sebut pemilihan fitur yang tidak diawasi.
EDIT: Anda juga bertanya tentang regularisasi. Saya melihat regularisasi sebagai membantu sebagian besar karena kami bekerja dengan sampel yang terbatas, sehingga pelatihan dan distribusi pengujian akan selalu agak berbeda, dan Anda ingin model Anda tidak sesuai. Saya tidak yakin itu menghilangkan keharusan untuk menghindari memilih fitur (jika Anda memang memiliki terlalu banyak). Saya pikir memilih fitur (atau membuat subset yang lebih kecil) membantu dengan membuat fitur yang Anda miliki lebih kuat dan menghindari model untuk belajar dari korelasi palsu. Jadi, regularisasi memang membantu, tetapi tidak yakin bahwa itu adalah alternatif yang lengkap. Tapi saya belum cukup memikirkan hal ini.
sumber