Saya bertanya-tanya apakah ada algoritma (mungkin algoritma genetika) dalam R untuk konstruksi fitur (menurunkan kandidat prediktor dari prediksi yang ada)? Saya sedang memikirkan rutin untuk menguji kekuatan orde tinggi, interaksi, rasio, dan kombinasi linear dan fungsi nonlinier dari variabel yang ada (sin, cos, atan dll).
Ini bisa berupa filter atau rutin pembungkus (yaitu tidak menggunakan algoritma pembelajaran atau menggunakannya untuk menentukan kesesuaian fitur).
Tujuan saya adalah untuk "menemukan" rasio yang berpotensi bermakna dan sejenisnya dari prediksi yang ada.
Terima kasih!
Jawaban:
Tampak bagi saya bahwa ini akan membuat Anda sangat rentan terhadap masalah seperti korelasi palsu dan bahkan overfitting. Saya lupa nama prinsip yang menyatakan semakin banyak model yang Anda coba, semakin besar risiko Anda menemukan yang buruk - jika Anda mencoba begitu banyak model hingga benar-benar menjalankan algoritma genetika, Anda dapat membayangkan bagaimana prinsip itu dilanggar.
sumber
Anda dapat melakukannya seperti ini: mulai dari data.frame, Anda menambahkan seperangkat prediktor yang ditransformasikan 'masuk akal' atau bahkan interaksi ke data Anda (model.matrix dan sejenisnya harus dapat melakukan ini).
Setelah Anda di sana, metode pemilihan variabel apa pun bisa dilakukan.
glmnet
terlintas dalam pikiran, tetapi ada banyak pilihan. Kerugian dari cara kerja ini adalah bahwa akan sulit untuk memastikan bahwa efek utama ada dalam model ketika interaksi terjadi. Mungkin beberapa bentuk pemilihan variabel mendukung ini, tapi saya tahu tidak ada yang jelas selain prosedur bertahap (yang akan menentang tujuan).sumber
Anda bisa mulai dengan sesuatu yang sederhana seperti menemukan komponen prinsip atau komponen independen . Anda juga bisa menjadi sedikit gila dan menghasilkan semua interaksi 2-arah dari variabel Anda. Jelas, saat Anda menghasilkan dan menguji lebih banyak fitur, Anda memerlukan algoritme pemilihan fitur yang lebih kuat terhadap overfitting.
Beberapa algoritma pemodelan, seperti MARS , hutan acak, dan SVM non-linear secara otomatis menemukan interaksi tertentu di antara fitur asli Anda.
sumber