I am using the
glmnet package for variable selection. I only want to find the best model and the coefficients and use them for a different model. Please help me understand the differences between caret and glmnet.
Here's an example:
using state data:
data(state) statedata <- data.frame(state.x77,row.names=state.abb,check.names=T) statedata <- scale(statedata)
library(caret) fitControl <- trainControl(## 10-fold CV method = "repeatedcv", number = 5, repeats = 5) lassoFit1 <- train(Life.Exp ~ . , data = statedata, method = "glmnet", trControl = fitControl)
lambda=0.1 as best values.
But how do I get the final best model?
but I get a whole list of models.
Here's how I do it in glmnet:
library(glmnet) cvfit <- cv.glmnet(x=statedata[,c(1:3,5,6,7,8)],y=statedata[,4])
When I type
I get the coefficients. Is this the best model? It looks like glmnet does test more lambdas in the cross validation, is that true? Does caret or glmnet lead to a better model?
How do I manage to extract the best final model from caret and glmnet and plug it in a cox hazard model for example?