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.