Saya bertanya-tanya bagaimana cara pendekatan dengan benar pelatihan dan pengujian model LASSO menggunakan glmnet di R?
- Secara khusus, saya bertanya-tanya bagaimana cara melakukannya jika kurangnya set data uji eksternal mengharuskan saya gunakan validasi silang (atau pendekatan serupa lainnya) untuk menguji model LASSO saya.
Biarkan saya memecah skenario saya:
Saya hanya memiliki satu set data untuk menginformasikan dan melatih model glmnet saya. Akibatnya, saya harus menggunakan validasi silang untuk membagi data saya untuk juga menghasilkan cara untuk menguji model saya.
Saya sudah menggunakan cv.glmnet
, yang menurut detail paket :
Apakah k-fold cross-validation untuk glmnet, menghasilkan plot, dan mengembalikan nilai untuk lambda.
Apakah validasi silang dilakukan pada
cv.glmnet
hanya untuk memilih lambda terbaik, atau apakah itu juga berfungsi sebagai prosedur validasi silang yang lebih umum?- Dengan kata lain, apakah saya masih perlu melakukan langkah validasi silang lain untuk "menguji" model saya?
Saya bekerja dengan asumsi bahwa, "ya saya lakukan."
Karena itu, bagaimana cara saya mendekati memvalidasi cv.glmnet
model saya ?
Apakah saya harus melakukannya secara manual, atau mungkin
caret
fungsi ini berguna untuk model glmnet?Apakah saya menggunakan dua "loop" konsentris lintas validasi? ... Apakah saya menggunakan "loop dalam" melalui CV
cv.glmnet
untuk menentukan nilai lambda terbaik dalam setiap lipatan k "loop eksternal" dari pemrosesan validasi silang k-fold ?Jika saya melakukan validasi silang dari
cv.glmnet
model validasi silang yang sudah saya lakukan, bagaimana cara mengisolasi model "terbaik" (dari nilai lambda "terbaik") dari masing-masingcv.glmnet
model dalam setiap lipatan dari "loop eksternal" validasi silang saya?- Catatan: Saya mendefinisikan model "terbaik" sebagai model yang terkait dengan lambda yang menghasilkan MSE dalam 1 SE dari minimum ... ini adalah
$lambda.1se
dalamcv.glmnet
model.
- Catatan: Saya mendefinisikan model "terbaik" sebagai model yang terkait dengan lambda yang menghasilkan MSE dalam 1 SE dari minimum ... ini adalah
Konteks:
Saya mencoba memprediksi usia pohon ("umur") berdasarkan diameter pohon ("D"), D ^ 2, dan spesies ("faktor (SPEC)"). [persamaan yang dihasilkan: Age ~ D + factor(SPEC) + D^2
]. Saya memiliki ~ 50 ribu baris data, tetapi datanya longitudinal (melacak individu melalui waktu) dan terdiri dari ~ 65 spesies.