Susun / model ansambel dengan tanda sisipan

21

Saya sering menemukan diri saya melatih beberapa model prediktif berbeda menggunakan caretR. Saya akan melatih mereka semua pada lipatan validasi silang yang sama, menggunakan caret::: createFolds, kemudian memilih model terbaik berdasarkan kesalahan lintas-divalidasi.

Namun, prediksi median dari beberapa model sering mengungguli model tunggal terbaik pada set tes independen. Saya sedang berpikir untuk menulis beberapa fungsi untuk model susun / ensembling caret yang dilatih dengan lipatan validasi silang yang sama, misalnya dengan mengambil prediksi median dari masing-masing model pada setiap lipatan, atau dengan melatih "model-meta."

Tentu saja, ini mungkin memerlukan loop validasi silang luar. Apakah ada yang tahu tentang paket yang ada / kode sumber terbuka untuk model caret ensembling (dan mungkin memvalidasi lintas ansambel tersebut)?

Zach
sumber

Jawaban:

19

Sepertinya Max Kuhn benar-benar mulai mengerjakan sebuah paket untuk model caret ensembleling , tetapi belum sempat menyelesaikannya. Ini persis apa yang saya cari. Saya harap proyek ini selesai suatu hari nanti!

sunting: Saya menulis paket saya sendiri untuk melakukan ini: caretEnsemble

Zach
sumber
1
Kerja luar biasa pada paket ini!
mikeycgto
8

Apa yang Anda cari disebut "model ensembling". Tutorial pengantar sederhana dengan kode R dapat ditemukan di sini: http://viksalgorithms.blogspot.jp/2012/01/intro-to-ensemble-learning-in-r.html

terima kasih
sumber
3
Bukan untuk pilih-pilih, tetapi "ensembling" tepat di judul posting saya. Saya sangat khusus mencari paket R untuk ansambel model yang sewenang-wenang, yang sepertinya tidak ada. Terima kasih telah memposting kode. Mungkin saya akan menulis paket saya sendiri!
Zach
1

Saya tidak yakin apa yang Anda cari tetapi ini mungkin membantu: http://www.jstatsoft.org/v28/i05/paper

Ini adalah cara menggunakan banyak model dalam caret. Bagian yang Anda mungkin tertarik adalah bagian 5 pada hal. 13.

screechOwl
sumber
Apa yang saya cari adalah paket yang akan mengambil sebagai input daftar objek caret, dan kemudian akan menghasilkan rata-rata rata-rata, rata-rata, atau rata-rata tertimbang dari prediksi mereka. Fungsionalitas yang lebih maju mungkin termasuk mengoptimalkan bobot melalui validasi bersarang-silang.
Zach