Karet dan koefisien (glmnet)

19

Saya tertarik memanfaatkan caret untuk membuat kesimpulan pada set data tertentu. Apakah mungkin untuk melakukan hal berikut:

  1. menghasilkan koefisien model glmnet yang saya latih dalam caret. Saya ingin menggunakan glmnet karena pemilihan fitur bawaan karena saya tidak percaya glm memilikinya?

  2. selain metrik ROC, apakah ada metrik lain yang dapat saya manfaatkan untuk menilai kecocokan model? Seperti disesuaikan ?R2

Tujuan dari analisis ini adalah untuk memperoleh beberapa kesimpulan tentang efek variabel tertentu, bukan untuk prediksi. Saya hanya suka paket caret karena sangat mudah digunakan dengan menggunakan matriks sejauh ini.

pengguna2300643
sumber
3
The paket sisipan dilengkapi dengan serangkaian sketsa (dan kertas JSS) penutup yang sebagian besar pertanyaan Anda. Bisakah Anda menunjukkan apa yang sebenarnya Anda maksud dengan "mendapatkan beberapa kesimpulan tentang pengaruh variabel tertentu?"
chl
Inferensi melalui koefisien. Saya membaca Pemodelan Prediktif Terapan untuk mempelajari lebih lanjut tentang R dan pembuatan model secara bersamaan. Saya telah membaca sketsa dan pdf, tetapi ada begitu banyak fungsi sehingga sulit untuk melacak semuanya. Namun, Zach menjawab pertanyaan saya, jadi saya berterima kasih. Terima kasih!
user2300643
Sebenarnya saya menemukan tautan yang saya berikan di sini untuk memberikan jawaban terbaik untuk mengekstraksi koefisien model akhir stackoverflow.com/questions/48079660/…
Nusrat Rabbee

Jawaban:

40

Katakanlah model caret Anda disebut "model". Anda dapat mengakses model glmnet final dengan model$finalModel. Anda kemudian dapat menelepon coef(model$finalModel), dll. Anda harus memilih nilai lambda yang Anda inginkan koefisien, seperti coef(model$finalModel, model$bestTune$.lambda).

Lihatlah summaryFunctionparameter untuk trainControlfungsi tersebut. Ini akan memungkinkan Anda untuk menentukan fungsi apa pun yang ingin Anda perkecil (atau maksimalkan, lihat maximizeargumennya train), diberi prediktor dan respons.

Mungkin sulit untuk menyesuaikan R ^ 2 dengan cara ini, tetapi Anda mungkin bisa mendapatkan R ^ 2 atau yang serupa.

Zach
sumber
3
Terima kasih, Zach. Tepat seperti itu. Juga, saya ingin mengucapkan terima kasih atas paket caretEnsemble Anda. Silakan terus bekerja dengan baik.
user2300643
@ user2300643 Tidak masalah! Saya senang Anda menggunakan paket itu.
Zach
6
Dalam caretversi 6.0.78, terbaik tuned lambda sekarang: model$bestTune$lambda.
Harrison
apakah ada cara untuk mendapatkan kesalahan standar dari koefisien tersebut?
saifulsafuan