How can researchers fit regularized generalized linear models in Python?
Pyglmnet implements generalized linear models with penalties that help control model complexity. Researchers can select a response distribution and regularization approach within a Python workflow, including applications where observations are counts, binary outcomes, or continuous measurements.
What the study found
- The package supports multiple response models and regularizers, including lasso, ridge, and elastic net.
- Its Python implementation provides fitting, prediction, and scoring interfaces with examples that separate training and test data.
How the study works
The optimizer uses cyclical coordinate descent with Newton updates, active sets, caching, and warm restarts. The model combines a specified response distribution with a penalty on its coefficients.
Scope and limitations
- A fitted model depends on the chosen distribution, predictors, regularization strength, and validation procedure.
- Predictive performance does not by itself establish a causal relationship between predictors and outcomes.
Using this work
Begin with the repository's simulated-data GLM example and documentation. Evaluate predictions on held-out data and record the package version and tuning choices. Pyglmnet is MIT licensed; cite its JOSS software paper.
Read the original abstract and paper.
Cite this work
Mainak Jas, Titipat Achakulvisut, Aid Idrizović, Daniel Acuna, Matthew Antalek, Vinicius Marques, Tommy Odland, Ravi Garg, Mayank Agrawal, Yu Umegaki, Peter Foley, Hugo Fernandes, Drew Harris, Beibin Li, Olivier Pieters, Scott Otterson, Giovanni De Toni, Chris Rodgers, Eva Dyer, Matti Hamalainen, Konrad Kording, Pavan Ramkumar (2020). Pyglmnet: Python implementation of elastic-net regularized generalized linear models. Journal of Open Source Software. https://doi.org/10.21105/joss.01959
View BibTeX
@article{jas2020pyglmnet,
title = {Pyglmnet: Python implementation of elastic-net regularized generalized linear models},
author = {Jas, Mainak and Achakulvisut, Titipat and Idrizović, Aid and Acuna, Daniel and Antalek, Matthew and Marques, Vinicius and Odland, Tommy and Garg, Ravi and Agrawal, Mayank and Umegaki, Yu and Foley, Peter and Fernandes, Hugo and Harris, Drew and Li, Beibin and Pieters, Olivier and Otterson, Scott and De Toni, Giovanni and Rodgers, Chris and Dyer, Eva and Hamalainen, Matti and Kording, Konrad and Ramkumar, Pavan},
year = {2020},
publication_date = {2020-03-01},
journal = {Journal of Open Source Software},
volume = {5},
number = {47},
pages = {1959},
doi = {10.21105/joss.01959},
url = {https://joss.theoj.org/papers/10.21105/joss.01959}
}
Overview checked September 7, 2026 against the publication record. Publication and preprint dates refer to the linked versions.