Konstruksi fitur dalam R

8

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!

B_Miner
sumber
Sudahkah Anda mencoba paket "Oblique.tree"? cran.r-project.org/web/packages/oblique.tree/index.html best

Jawaban:

3

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.

William
sumber
1
Saya pikir OP berbicara tentang menggunakan algoritma genetika untuk mengekstraksi atau merekayasa fitur, bukan untuk menemukan model.
Aman
2

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. glmnetterlintas 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).

Nick Sabbe
sumber
1

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.

Zach
sumber
1
(+1) Menurut saya masalah dengan RF atau SVM (dan lebih umum, metode ensemble apa pun) adalah bahwa interaksi seperti itu jarang dapat ditafsirkan secara langsung. Beberapa variasi sekitar kantung yang memungkinkan untuk melakukan pemilihan fitur pada tipe prediktor tertentu telah diusulkan, lihat misalnya paket logicFS .
chl