From my understanding, when using Lasso regression, you can use GridSearchCV
or LassoCV
in sklearn to find the optimal alpha
, the regularization parameter. Which one is preferred over the other?
You can get the same results with both. LassoCV
makes it easier by letting you pass an array of alpha-values to alphas
as well as a cross validation parameter directly into the classifier.
To do the same thing with GridSearchCV
, you would have to pass it a Lasso
classifier a grid of alpha-values (i.e. {'alpha':[.5, 1, 5]}
) and the CV
parameter.
I would not recommend one over the other though. The only advantage I can see is that you can access results_
as well as many other attributes if you use GridSearchCV
. This may be helpful if you want a summary of all the models returned by the alphas you tried. On the other hand, as pointed out by @amiola, LassoCV
can take advantage of using pre-computed results in previous steps of the cross-validation process (aka warm-starting), which may result in faster fitting times.