¿Caret train funciona para glmnet validación cruzada para alpha y lambda?


20

¿El caretpaquete R valida por ambos alphay lambdapara el glmnetmodelo? Ejecutando este código,

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)

El registro de entrenamiento se ve así.

Fold10.Rep3: alpha=1.0, lambda=NA 

Que lambda=NAsignifica


3
¿Cómo puedo pasar family = "binomial" y type.measure = "auc" al modelo glmnet usando train?
diugalde

Respuestas:


16

train sintoniza sobre ambos.

Básicamente, solo necesita alphacuando se entrena y puede obtener predicciones a través de diferentes valores de lambdauso predict.glmnet. Tal vez un valor lambda = "all"u otra cosa sería más informativo.

Max


1
¿Cómo puedo especificar una secuencia de valores alfa? ¿Sin dar una secuencia lambda?
diugalde

Algo así como: alpha.seq = seq (0,1, .01) No necesita utilizar el método exacto anterior. Ver documentación de caret
Redeyes10

12

Antigua pregunta, pero recientemente tuve que lidiar con este problema y encontré esta pregunta como referencia.

Aquí hay un enfoque alternativo:

λαλα

αλλλλ>0 0λ


Esta es más recientemente la mejor respuesta
javadba
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.