Elastic net regression models are controlled by two parameters, lambda, a measure of shrinkage, and alpha, a metric defining the model's location on the spectrum between ridge and lasso regression. glmnet provides tools for selecting lambda via cross validation but no automated methods for selection of alpha. Elastic Net SearcheR automates the simultaneous selection of both lambda and alpha. Developed, in part, with support by NICHD R03 HD094912.

Elastic Net regression models combine both the L1 and L2 penalties of lasso and ridge regression. There are two penalty terms, lambda and alpha. Lambda is a complexity parameter and alpha is a balance between lasso and ridge.
The cv.glmnet function in glmnet
will perform cross validation to find the value of lambda for a given value of
alpha. cv.glmnet does not search over values of alpha. The ensr package
builds a grid of alpha and lambda values and, using cross-validation, suggests
preferable values for both lambda and alpha.
After installing this package we encourage you to read the vignette to see examples.
vignette("ensr-examples", package = "ensr")
ensr is not currently on CRAN. You can install via github or after cloning the repo.
There are several ways you can install ensr. If you are working on a Windows machine you will need to have Rtools installed.
Within an active R session evaluate the following:
if ('remotes' %in% rownames(installed.packages())) {
install.packages('remotes', repos = "https://cran.rstudio.com")
}
remotes::install_github("dewittpe/ensr", build_opts = c("--no-resave-data"))
There are detailed instructions for cloning the repo in the CONTRIBUTING.md
file. Windows users need to read the details for cloning the repo so that
symbolic links will be handled correctly. After cloning use the makefile to
build, check, and install the ensr package, e.g.,
make install
Please read the CONTRIBUTING.md file. There are details on the how to clone
the repo and the structure of this package.