Yang mana yang pertama: pembandingan algoritma, pemilihan fitur, penyetelan parameter?


11

Ketika mencoba melakukan mis klasifikasi, pendekatan saya saat ini adalah

  1. coba berbagai algoritma terlebih dahulu dan patok mereka
  2. melakukan pemilihan fitur pada algoritma terbaik dari 1 di atas
  3. tune parameter menggunakan fitur dan algoritma yang dipilih

Namun, saya sering tidak dapat meyakinkan diri sendiri bahwa mungkin ada algoritma yang lebih baik daripada yang dipilih, jika algoritma lain telah dioptimalkan dengan parameter terbaik / fitur yang paling cocok. Pada saat yang sama, melakukan pencarian di semua algoritma * parameter * fitur terlalu memakan waktu.

Adakah saran tentang pendekatan / urutan yang benar?

Jawaban:


8

Saya menganggap maksud Anda pemilihan fitur sebagai rekayasa fitur . Proses yang biasanya saya ikuti dan saya lihat beberapa orang lakukan adalah

  1. Rekayasa fitur
  2. Coba beberapa algoritma, biasanya yang berkinerja tinggi seperti RandomForest, Gradient Boosted Trees, Neutral Networks, atau SVM pada fitur.

    2.1 Lakukan penyetelan parameter sederhana seperti pencarian grid pada sejumlah kecil parameter

Jika hasil langkah 2 tidak memuaskan, kembali ke langkah 1 untuk menghasilkan lebih banyak fitur, atau menghapus fitur yang berlebihan dan mempertahankan yang terbaik, orang biasanya memanggil pemilihan fitur ini . Jika kehabisan ide untuk fitur baru, coba algoritma lainnya.

Jika hasilnya baik-baik saja atau mendekati apa yang Anda inginkan, maka lanjutkan ke langkah 3

  1. Penyesuaian parameter yang luas

Alasan untuk melakukan ini adalah bahwa klasifikasi adalah semua tentang rekayasa fitur , dan kecuali Anda tahu beberapa pengklasifikasi kuat yang luar biasa seperti pembelajaran mendalam yang disesuaikan untuk masalah tertentu, seperti Computer Vision. Menghasilkan fitur yang baik adalah kuncinya. Memilih classifier adalah penting tetapi tidak penting. Semua pengklasifikasi yang disebutkan di atas cukup sebanding dalam hal kinerja, dan sebagian besar waktu, pengklasifikasi terbaik ternyata menjadi salah satunya.

Penyesuaian parameter dapat meningkatkan kinerja, dalam beberapa kasus, cukup banyak. Tetapi tanpa fitur yang bagus, penyetelan tidak banyak membantu. Ingat, Anda selalu punya waktu untuk penyetelan parameter. Juga, tidak ada gunanya mengatur parameter secara luas maka Anda menemukan fitur baru dan mengulang semuanya.


2

Hei saya baru saja melihat pertanyaan Anda. BENAR-BENAR SALAH untuk melakukan pemilihan fitur terlebih dahulu dan kemudian menyetel model menggunakan cross-validation. Dalam unsur-unsur pembelajaran statistik dan ini posting blog itu jelas disebutkan bahwa: Metode CV yang berisi hanya jika semua bangunan model Anda dilakukan di dalam loop CV. Begitu juga pemilihan fitur di dalam loop CV untuk penyetelan parameter. Ini dapat dilakukan dengan mudah menggunakan bungkus filter dalam paket MLR di R.


1

Saya sudah menjawab pertanyaan serupa di sini . Prosesnya adalah:

  • Transformasi dan Reduksi: Melibatkan proses seperti transformasi, penskalaan rata-rata dan median, dll.
  • Pemilihan Fitur: Ini dapat dilakukan dalam banyak cara seperti pemilihan ambang, pemilihan bagian, dll.
  • Merancang model prediktif: Merancang model prediktif pada data pelatihan tergantung pada fitur yang Anda miliki.
  • Validasi Silang dan penyetelan parameter:
  • Prediksi Akhir, Validasi

Selalu coba dan lakukan rekayasa fitur sebelum pemilihan model. Kemudian, pilih model sesuai dengan fitur terbaik (atau fitur yang cenderung mempengaruhi masalah / variabel dependen lebih baik.)


0

Jika Anda siap untuk menghabiskan waktu mempelajari cara alat baru bekerja, Anda dapat mencoba autosklearn. Itu semua yang diperlukan untuk membangun pipa ML untuk Anda. Preprocessing fitur, pemilihan, pembentukan model ansambel, dan penyetelan melalui validasi silang. Tergantung pada jumlah data yang Anda miliki, mungkin atau mungkin bukan cara yang lebih cepat untuk prediksi yang baik. Tapi tentu saja itu yang menjanjikan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.