Skip to content

sehoff/skglm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

skglm

image0

skglm is a library that provide better sparse generalized linear models for scikit-learn. Its main features are:

  • speed: problems with millions of features can be solved in seconds. Default solvers rely on efficient coordinate descent with numba just in time compilation.
  • flexibility: virtually any combination of datafit and penalty can be implemented in a few lines of code.
  • sklearn API: all estimators are drop-in replacements for scikit-learn.
  • scope: support for many missing models in scikit-learn - weighted Lasso, arbitrary group penalties, non convex sparse penalties, etc.

Currently, the package handles any combination of the following datafits:

  • quadratic
  • logistic loss
  • multitask quadratic

and the following penalties:

  • L1 norm
  • weighted L1 norm
  • L1 + L2 squared norm (elastic net)
  • MCP
  • L05 and L2/3 penalties

The estimators follow the scikit-learn API, come with automated parallel cross-validation, and support both sparse and dense data.

Documentation

Please visit https://mathurinm.github.io/skglm/ for the latest version of the documentation.

Install and work with the development version

First clone the repository available at https://github.com/mathurinm/skglm:

$ git clone https://github.com/mathurinm/skglm.git
$ cd skglm/

Then, install the package with:

$ pip install -e .

To check if everything worked fine, you can do:

$ python -c 'import skglm'

and it should not give any error message.

Demos & Examples

In the example section of the documentation, you will find numerous examples on real life datasets, timing comparison with other estimators, easy and fast ways to perform cross validation, etc.

Dependencies

All dependencies are specified in the setup.py file. They are installed automatically when pip install -e . is run.

Cite

If you use this code, please cite

@online{skglm,
    title={Beyond L1: Faster and Better Sparse Models with skglm},
    author={Q. Bertrand and Q. Klopfenstein and P.-A. Bannier and G. Gidel and M. Massias},
    year={2022},
    url={https://arxiv.org/abs/2204.07826}
}

ArXiv links:

About

Fast and modular sklearn replacement for generalized linear models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%