O trem de interpolação funciona para glmnet com validação cruzada para alfa e lambda?

20

O caretpacote R é validado cruzadamente sobre alphae lambdapara o glmnetmodelo? Executando esse 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)

O log de treinamento se parece com isso.

Fold10.Rep3: alpha=1.0, lambda=NA 

O que lambda=NAsignifica isso ?

mrquestion
fonte
3
Como posso passar family = "binomial" e type.measure = "auc" para o modelo glmnet usando train?
Diugalde 17/01/19

Respostas:

16

train sintoniza os dois.

Basicamente, você só precisa alphatreinar e pode obter previsões sobre diferentes valores delambda uso predict.glmnet. Talvez um valor lambda = "all"ou outra coisa seja mais informativo.

Máx.

topepo
fonte
1
Como posso especificar uma sequência de valores alfa? Sem dar uma sequência lambda?
21617 diugalde
Algo como: alpha.seq = seq (0,1, .01) Você não precisa usar o método exato acima. Consulte a documentação acento circunflexo
Redeyes10
12

Pergunta antiga, mas recentemente tive que lidar com esse problema e achei essa pergunta como referência.

Aqui está uma abordagem alternativa:

λαλα em sua grade.

αλλλλ>0 0λ

Redeyes10
fonte
Esta é mais recentemente a melhor resposta
javadba 25/03