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?

mrquestion
la source
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

topepo
la source
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λ

Yeux rouges10
la source
C'est plus récemment la meilleure réponse
javadba