Apakah caret train berfungsi untuk memvalidasi silang glmnet untuk alpha dan lambda?

20

Apakah caretpaket R memvalidasi silang baik untuk model alphamaupun lambdauntuk glmnetmodel? Menjalankan kode ini,

eGrid <- expand.grid(.alpha = (1:10) * 0.1, 
                     .lambda = (1:10) * 0.1)

Control <- trainControl(method = "repeatedcv",repeats = 3,verboseIter =TRUE)

netFit <- train(x =train_features, y = y_train,
          method = "glmnet",
          tuneGrid = eGrid,
          trControl = Control)

Log pelatihan terlihat seperti ini.

Fold10.Rep3: alpha=1.0, lambda=NA 

Apa lambda=NAartinya

mrquestion
sumber
3
Bagaimana saya bisa meneruskan family = "binomial" dan type.measure = "auc" ke model glmnet menggunakan kereta api?
diugalde

Jawaban:

16

train tidak menyempurnakan keduanya.

Pada dasarnya, Anda hanya perlu alphasaat pelatihan dan bisa mendapatkan prediksi di berbagai nilai lambdapenggunaan predict.glmnet. Mungkin nilai lambda = "all"atau sesuatu yang lain akan lebih informatif.

Maks

topepo
sumber
1
Bagaimana saya bisa menentukan urutan nilai alpha? Tanpa memberikan urutan lambda?
diugalde
Sesuatu seperti: alpha.seq = seq (0,1, .01) Anda tidak perlu menggunakan metode yang tepat di atas. Lihat dokumentasi caret
Redeyes10
12

Pertanyaan lama, tetapi saya baru-baru ini harus berurusan dengan masalah ini dan menemukan pertanyaan ini sebagai referensi.

Berikut ini adalah pendekatan alternatif:

λαλα

αλλλλ>0λ

Mata merah10
sumber
Ini baru-baru ini jawaban yang lebih baik
javadba