Bagaimana menemukan nilai optimal untuk parameter tuning dalam meningkatkan pohon?

9

Saya menyadari bahwa ada 3 parameter penyetelan dalam model meningkatkan pohon, yaitu

  1. jumlah pohon (jumlah iterasi)
  2. parameter penyusutan
  3. jumlah pemisahan (ukuran masing-masing pohon penyusun)

Pertanyaan saya adalah: untuk setiap parameter penyetelan, bagaimana saya harus menemukan nilai optimalnya? Dan metode apa?

Perhatikan bahwa: parameter susut dan jumlah parameter pohon beroperasi bersama, yaitu nilai yang lebih kecil untuk parameter penyusutan mengarah ke nilai yang lebih tinggi untuk jumlah pohon. Dan kita perlu memperhitungkan ini juga.

Saya sangat tertarik pada metode untuk menemukan nilai optimal untuk jumlah split. Haruskah itu didasarkan pada validasi silang atau pengetahuan domain tentang model di belakang?

Dan bagaimana hal-hal ini dilakukan dalam gbmpaket di R?

mynameisJEFF
sumber

Jawaban:

6

The sisipan paket di R dibuat khusus untuk ini.

Fungsi train-nya mengambil kisi-kisi nilai parameter dan mengevaluasi kinerja menggunakan berbagai rasa validasi silang atau bootstrap. Penulis paket telah menulis buku, Pemodelan prediktif terapan , yang sangat dianjurkan. 5 pengulangan validasi silang 10 kali lipat digunakan di seluruh buku ini.

Untuk memilih kedalaman pohon, pertama-tama saya akan mencari pengetahuan pokok tentang masalahnya, yaitu jika Anda tidak mengharapkan interaksi apa pun - batasi kedalaman hingga 1 atau gunakan model parametrik yang fleksibel (yang jauh lebih mudah dipahami dan ditafsirkan). Yang sedang berkata, saya sering menemukan diri saya menyetel kedalaman pohon karena pengetahuan materi pelajaran seringkali sangat terbatas.

Saya pikir paket gbm menyetel jumlah pohon untuk nilai tetap kedalaman dan penyusutan pohon.

ErikL
sumber
Apakah buku juga menyertakan kode R?
user1769197
Maksud saya contoh bekerja yang mencakup kode R sehingga kami memahami bagaimana model diimplementasikan secara komputasi dan diterapkan pada dataset
user1769197
1
Ya itu. Lihat halaman web buku yang diterapkanpredictivemodeling.com untuk info lebih lanjut.
ErikL
1

Ada dua sumber yang baik untuk paket pohon regresi dan gbm yang dikuatkan. Untuk penjelasan tentang BRT dan optimalisasi jumlah pohon ( nt), tingkat pembelajaran ( lr) dan kompleksitas pohon ( tc) lihat Panduan kerja untuk meningkatkan pohon regresi Meskipun berfokus pada ekologi, saya pikir Anda tidak akan menemukan pengantar yang lebih baik untuk BRT .

Untuk implementasi BRT dalam paket gbm, lihat Boosted Regression Trees untuk pemodelan ekologis

Singkatnya, aturan praktisnya adalah memilih tingkat pembelajaran yang memungkinkan model BRT untuk memenuhi setidaknya 1000 pohon, jadi mungkin Anda akan membutuhkan tingkat pembelajaran yang rendah, mungkin 0,001 untuk mencapai itu. Tapi itu tergantung pada ukuran data Anda, lihat gambar. 2 dan 3 dalam Panduan kerja untuk BRT. Saya pikir salah satu cara yang mungkin adalah mengatur model yang berbeda di BRT sesuai dengan ukuran data Anda, misalnya menggabungkan lr berbeda (0,1, 0,01, 0,001), tc (1, 3, 5, 7, 9, 20) dengan tas yang berbeda .fractions (0,5, 0,7, 0,9) dan pilih yang terbaik sesuai dengan penyimpangan terendah atau skor ROC tertinggi. Mungkin itu membantu.

pengguna3624251
sumber
1
Sebagai referensi, BRT_MODEL$self.statistics$correlation[[1]]adalah korelasi pengujian dengan data pelatihan, yang merupakan metrik tes yang baik.
dez93_2000
Kedengarannya seperti desain statistik percobaan bagi saya. : P
EngrStudent