CARET akan secara otomatis menggunakan tuning grid yang telah ditentukan sebelumnya untuk membangun berbagai model sebelum memilih model akhir, dan kemudian melatih model akhir pada data pelatihan lengkap. Saya bisa menyediakan tuning grid saya sendiri hanya dengan satu kombinasi parameter. Namun bahkan dalam kasus ini, CARET "memilih" model terbaik di antara parameter tuning (meskipun hanya ada satu dalam kasus ini), dan kemudian cocok dengan model akhir untuk semua data pelatihan. Ini adalah langkah ekstra yang ingin saya hindari.
Bagaimana cara saya melewatkan langkah pencarian model di seluruh variasi dalam tuning grid dan memaksa CARET untuk membangun semua data pelatihan (selain memanggil perpustakaan model yang mendasarinya secara langsung)?
Jawaban:
Anda dapat menentukan
method="none"
ditrainControl
. Sebagai contoh:Saya tidak yakin kapan ini diterapkan.
sumber
Cara terbaik adalah dengan secara eksplisit memasok dataframe tuneGrid. Sebagai contoh, forest acak hanya memiliki satu parameter tuning, 'mtry', yang mengontrol jumlah fitur yang dipilih untuk setiap pohon.
Untuk menetapkan mtry pada nilai tertentu, Anda dapat memilih default randomForest (? RandomForest) lakukan ini:
di mana M adalah nilai satu dari parameter tuning yang ingin Anda gunakan.
untuk beberapa parameter penyetelan, lakukan ini:
sumber
method="none"
ini adalah solusi yang lebih baik.Saya tidak berpikir itu mungkin (setidaknya itu tidak mungkin pada beberapa versi yang lalu). Seseorang dapat mengurangi dampak kinerja dengan menyiapkan hanya satu partisi resampling dalam data pelatihan (tetapi caret masih akan melatih model dua kali)
Ini kedengarannya seperti fitur yang berguna untuk dimiliki, jadi saya akan melakukan ping ke pembuat paket.
sumber