Apakah pemilihan fitur diperlukan?

11

Saya ingin menjalankan beberapa model pembelajaran mesin seperti hutan acak, peningkatan gradien, atau SVM pada dataset saya. Ada lebih dari 200 variabel prediktor dalam dataset saya dan kelas target saya adalah variabel biner.

Apakah saya perlu menjalankan pemilihan fitur sebelum pemasangan model? Apakah itu mempengaruhi kinerja model secara signifikan atau tidak ada banyak perbedaan jika saya langsung mencocokkan model menggunakan semua variabel prediktor?

LUSAQX
sumber
Seberapa besar dataset Anda? Jika Anda memiliki ribuan sampel dan 200 variabel prediktor, kemungkinannya cukup tinggi sehingga dengan model seperti Hutan Acak Anda akan dapat mencapai kinerja yang cukup tinggi. Pemilihan fitur lebih lanjut selanjutnya akan meningkatkan kinerja Anda.
Archie
@Archie Ya, ukuran dataset saya sama dengan yang Anda sebutkan. 'Pemilihan fitur lebih lanjut', apakah maksud Anda melakukan pemilihan fitur sebelum pemasangan model dan dapat mendukung kinerja model?
LUSAQX
Maksudku, pertama-tama aku akan mencoba semua fitur, Random Forests akan menjadi penggolong yang bagus untuk memulai. Jika Anda kemudian ingin mendorong kinerja lebih tinggi, saya akan melihat misalnya, fitur penting untuk memilih fitur yang paling signifikan.
Archie
Baik. Itulah yang telah saya lakukan sejauh ini. Saya akan mencoba beberapa metode pemilihan fitur sebelum model pas untuk melihat apakah ada perbaikan pada saat itu.
LUSAQX
Jawaban singkat dari praktik saya baru-baru ini, pemilihan fitur diperlukan untuk perbandingan model. Beberapa algoritma akan bekerja lebih baik pada beberapa set fitur sementara beberapa algoritma lainnya pada set lain.
LUSAQX

Jawaban:

11

Pemilihan fitur mungkin mempertimbangkan tahapan yang harus dihindari. Anda harus menghabiskan waktu perhitungan untuk menghapus fitur dan benar-benar kehilangan data dan metode yang harus Anda lakukan untuk memilih fitur tidak optimal karena masalahnya adalah NP-Complete . Menggunakannya tidak terdengar seperti tawaran yang tidak bisa Anda tolak.

Jadi, apa manfaatnya menggunakannya?

  1. Banyak fitur dan rasio sampel / fitur yang rendah akan memasukkan noise ke dalam dataset Anda. Dalam kasus seperti itu, algoritma klasifikasi Anda cenderung overfit, dan memberi Anda perasaan salah tentang kinerja yang baik.
  2. Mengurangi jumlah fitur akan mengurangi waktu berjalan di tahap selanjutnya. Itu pada gilirannya akan memungkinkan Anda menggunakan algoritma dengan kompleksitas yang lebih tinggi, mencari lebih banyak parameter hiper, atau melakukan lebih banyak evaluasi.
  3. Seperangkat fitur yang lebih kecil lebih mudah dipahami manusia. Itu akan memungkinkan Anda untuk fokus pada sumber prediktabilitas utama dan melakukan rekayasa fitur yang lebih tepat. Jika Anda harus menjelaskan model Anda kepada klien, Anda lebih baik menghadirkan model dengan 5 fitur daripada model dengan 200 fitur.

Sekarang untuk kasus spesifik Anda: Saya sarankan Anda mulai menghitung korelasi antara fitur dan konsep. Komputasi korelasi di antara semua fitur juga informatif. Perhatikan bahwa ada banyak jenis korelasi yang berguna (misalnya, Pearson , Informasi bersama ) dan banyak atribut yang mungkin mempengaruhi mereka (misalnya, jarang, konsep tidak seimbang). Memeriksa mereka alih-alih secara membabi buta dengan algoritma pemilihan fitur mungkin menghemat banyak waktu di masa depan.

Saya tidak berpikir bahwa Anda akan memiliki banyak masalah waktu berjalan dengan dataset Anda. Namun, rasio sampel / fitur Anda tidak terlalu tinggi sehingga Anda dapat mengambil manfaat dari pemilihan fitur.

Pilih penggolong dengan kompleksitas rendah (misalnya, regresi linier, pohon keputusan kecil) dan gunakan sebagai patokan. Cobalah pada set data lengkap dan pada beberapa dataset dengan subset fitur. Tolok ukur seperti itu akan membimbing Anda dalam penggunaan pemilihan fitur. Anda akan memerlukan panduan seperti itu karena ada banyak opsi (misalnya, jumlah fitur untuk dipilih, algoritma pemilihan fitur) dan karena tujuan biasanya adalah predikasi dan bukan pemilihan fitur sehingga umpan balik setidaknya satu langkah lagi.

Dl
sumber
Terima kasih banyak. Tetapi untuk pengklasifikasi non-linear seperti hutan acak, apakah itu juga memerlukan variabel prediktor yang independen satu sama lain? Saya kira tidak tetapi bisa saja salah. Bagaimana korelasinya memandu pemilihan fitur?
LUSAQX
Hutan acak adalah kumpulan pohon yang dapat mengatasi variabel dependen dengan baik. Itu karena di setiap node di pohon, dataset dikondisikan oleh semua variabel di atasnya. Masalahnya adalah bahwa pertumbuhan pohon heuristik sehingga pilihan variabel di atas mungkin belum optimal.
Dal
Korelasi hanya membandingkan pasangan variabel dan karena itu tidak dapat memberi Anda gambaran lengkap. Di sisi lain, Anda mendapatkan hasilnya dalam O (n ^ 2) dan bukan O (2 ^ n) ... Pedoman ini biasanya spesifik untuk dataset sehingga saya merasa sulit untuk menjelaskannya dengan cara ini. Beberapa contoh adalah penghapusan variabel yang berlebihan (sangat berkorelasi dengan variabel lain). Meneliti kekuatan korelasi mungkin mengindikasikan apakah Anda dapat menggunakan model kecil atau akan dibutuhkan untuk menggunakan banyak pelajar yang lemah. Mengidentifikasi subset yang tidak terlalu berkorelasi satu sama lain mungkin mengindikasikan pelatihan bersama akan bermanfaat.
Dal
0

Ya, pemilihan fitur adalah salah satu tugas paling penting untuk masalah pembelajaran mesin, setelah melakukan pertengkaran dan pembersihan data. Anda dapat menemukan fungsi yang menerapkan proses pemilihan fitur menggunakan fitur penting XGBOOST di sini.

https://github.com/abhisheksharma4194/Machine-learning

Abhishek Sharma
sumber