Le caret train fonctionne-t-il pour la validation croisée de glmnet pour alpha et lambda?


20

Le caretpackage R effectue -t-il une validation croisée sur alphaet lambdapour le glmnetmodèle? Exécuter ce code,

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)

Le journal de formation ressemble à ceci.

Fold10.Rep3: alpha=1.0, lambda=NA 

Que veut lambda=NAdire?


3
Comment puis-je transmettre family = "binomial" et type.measure = "auc" au modèle glmnet en utilisant train?
— diugalde

Réponses:


16

train syntonise les deux.

Fondamentalement, vous n'avez besoin que alphalors de la formation et pouvez obtenir des prévisions sur différentes valeurs d' lambdautilisation predict.glmnet. Peut-être qu'une valeur de lambda = "all"ou quelque chose d'autre serait plus informative.

Max


1
Comment spécifier une séquence de valeurs alpha? Sans donner de séquence lambda?
— diugalde

Quelque chose comme: alpha.seq = seq (0,1, .01) Vous n'avez pas besoin d'utiliser la méthode exacte ci-dessus. Voir la documentation du
— curseur

12

Vieille question, mais j'ai récemment dû faire face à ce problème et j'ai trouvé cette question comme référence.

Voici une approche alternative:

λαλα

αλλλλ>0λ


C'est plus récemment la meilleure réponse
— javadba
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.