I'm trying to fit a Lasso Regression Model to a dataset but I have been stucked in some issues. I understand that I have to fit the best model using the proper lambda. But every time I run the cv.glmnet function it gives different values for lambda.1se and lambda.min and also different coefficients, i.e, different models with differents MSE and R-Squared values. Which one should I use? Does it make sense to replicate this function 1000 times and use the average lambda or the average coefficients value?
Unless your training set is small, the best way is to remove a validation set (at least 100 data points, or 10% of the training set if this is larger), and run the model with different parameters. The difference between the fit on the training data and the validation set is the overfitting. Choose parameters that minimise overfitting, not parameters that maximise the fit to the training data.