Learn R Programming

⚠️There's a newer version (4.1-8) of this package.Take me there.

Lasso and Elastic-Net Regularized Generalized Linear Models

We provide extremely efficient procedures for fitting the entire lasso or elastic-net regularization path for linear regression (gaussian), multi-task gaussian, logistic and multinomial regression models (grouped or not), Poisson regression and the Cox model. The algorithm uses cyclical coordinate descent in a path-wise fashion. Details may be found in Friedman, Hastie, and Tibshirani (2010), Simon et al. (2011), Tibshirani et al. (2012), Simon, Friedman, and Hastie (2013).

Version 3.0 is a major release with several new features, including:

  • Relaxed fitting to allow models in the path to be refit without regularization. CV will select from these, or from specified mixtures of the relaxed fit and the regular fit;
  • Progress bar to monitor computation;
  • Assessment functions for displaying performance of models on test data. These include all the measures available via cv.glmnet, as well as confusion matrices and ROC plots for classification models;
  • print methods for CV output;
  • Functions for building the x input matrix for glmnet that allow for one-hot-encoding of factor variables, appropriate treatment of missing values, and an option to create a sparse matrix if appropriate.
  • A function for fitting unpenalized a single version of any of the GLMs of glmnet.

Version 4.0 is a major release that allows for any GLM family, besides the built-in families.

Version 4.1 is a major release that expands the scope for survival modeling, allowing for (start, stop) data, strata, and sparse X inputs. It also provides a much-requested method for survival:survfit.

References

Friedman, Jerome, Trevor Hastie, and Robert Tibshirani. 2010. “Regularization Paths for Generalized Linear Models via Coordinate Descent.” Journal of Statistical Software, Articles 33 (1): 1–22. https://doi.org/10.18637/jss.v033.i01.

Simon, Noah, Jerome Friedman, and Trevor Hastie. 2013. “A Blockwise Descent Algorithm for Group-Penalized Multiresponse and Multinomial Regression.”

Simon, Noah, Jerome Friedman, Trevor Hastie, and Robert Tibshirani. 2011. “Regularization Paths for Cox’s Proportional Hazards Model via Coordinate Descent.” Journal of Statistical Software, Articles 39 (5): 1–13. https://doi.org/10.18637/jss.v039.i05.

Tibshirani, Robert, Jacob Bien, Jerome Friedman, Trevor Hastie, Noah Simon, Jonathan Taylor, and Ryan Tibshirani. 2012. “Strong Rules for Discarding Predictors in Lasso-Type Problems.” Journal of the Royal Statistical Society: Series B (Statistical Methodology) 74 (2): 245–66. https://doi.org/10.1111/j.1467-9868.2011.01004.x.

Kenneth Tay, J, Narasimhan, Balasubramanian, Hastie, Trevor. 2023. “Elastic Net Regularization Paths for All Generalized Linear Models.” Journal of Statistical Software, Articles 106 (1): 1–31. https://doi.org/10.18637/jss.v106.i01.

Copy Link

Version

Install

install.packages('glmnet')

Monthly Downloads

110,378

Version

4.1-7

License

GPL-2

Maintainer

Last Published

March 23rd, 2023

Functions in glmnet (4.1-7)

MultinomialExample

Synthetic dataset with multinomial response
dev_function

Elastic net deviance value
elnet.fit

Solve weighted least squares (WLS) problem for a single lambda value
coxgrad

Compute gradient for Cox model
cox.fit

Fit a Cox regression model with elastic net regularization for a single value of lambda
deviance.glmnet

Extract the deviance from a glmnet object
cox.path

Fit a Cox regression model with elastic net regularization for a path of lambda values
cox_obj_function

Elastic net objective function value for Cox regression model
coxnet.deviance

Compute deviance for Cox model
bigGlm

fit a glm with all the options in glmnet
cv.glmnet

Cross-validation for glmnet
get_cox_lambda_max

Get lambda max for Cox regression model
glmnet-internal

Internal glmnet functions
get_eta

Helper function to get etas (linear predictions)
fid

Helper function for Cox deviance and gradient
glmnet-package

Elastic net model paths for some generalized linear models
get_start

Get null deviance, starting mu and lambda max
mycoxph

Helper function to fit coxph model for survfit.coxnet
mycoxpred

Helper function to amend ... for new data in survfit.coxnet
glmnet.fit

Fit a GLM with elastic net regularization for a single value of lambda
glmnet

fit a GLM with lasso or elasticnet regularization
print.glmnet

print a glmnet object
print.cv.glmnet

print a cross-validated glmnet object
glmnet.measures

Display the names of the measures used in CV for different "glmnet" families
predict.cv.glmnet

make predictions from a "cv.glmnet" object.
coef.glmnet

Extract coefficients from a glmnet object
glmnet.path

Fit a GLM with elastic net regularization for a path of lambda values
use.cox.path

Check if glmnet should call cox.path
survfit.cv.glmnet

Compute a survival curve from a cv.glmnet object
plot.glmnet

plot coefficients from a "glmnet" object
makeX

convert a data frame to a data matrix with one-hot encoding
predict.glmnetfit

Get predictions from a glmnetfit fit object
stratifySurv

Add strata to a Surv object
obj_function

Elastic net objective function value
na.replace

Replace the missing entries in a matrix columnwise with the entries in a supplied vector
survfit.coxnet

Compute a survival curve from a coxnet object
glmnet.control

internal glmnet parameters
weighted_mean_sd

Helper function to compute weighted mean and standard deviation
pen_function

Elastic net penalty value
rmult

Generate multinomial samples from a probability matrix
response.coxnet

Make response for coxnet
plot.cv.glmnet

plot the cross-validation curve produced by cv.glmnet
SparseExample

Synthetic dataset with sparse design matrix
CoxExample

Synthetic dataset with right-censored survival response
MultiGaussianExample

Synthetic dataset with multiple Gaussian responses
BinomialExample

Synthetic dataset with binary response
QuickStartExample

Synthetic dataset with Gaussian response
beta_CVX

Simulated data for the glmnet vignette
Cindex

compute C index for a Cox model
assess.glmnet

assess performance of a 'glmnet' object using test data.
PoissonExample

Synthetic dataset with count response