Skip to main content

A fast algorithm with dual extrapolation for sparse problems

Project description

celer

build coverage License Downloads Downloads PyPI version

celer is a Python package that solves Lasso-like problems and provides estimators that follow the scikit-learn API. Thanks to a tailored implementation, celer provides a fast solver that tackles large-scale datasets with millions of features up to 100 times faster than scikit-learn.

Currently, the package handles the following problems:

Problem Support Weights Native cross-validation
Lasso
ElasticNet
Group Lasso
Multitask Lasso
Sparse Logistic regression

Why celer?

celer is specially designed to handle Lasso-like problems which makes it a fast solver of such problems. In particular it comes with tools such as:

  • automated parallel cross-validation
  • support of sparse and dense data
  • optional feature centering and normalization
  • unpenalized intercept fitting

celer also provides easy-to-use estimators as it is designed under the scikit-learn API.

Get started

To get stared, install celer via pip

pip install -U celer

On your python console, run the following commands to fit a Lasso estimator on a toy dataset.

>>> from celer import Lasso
>>> from celer.datasets import make_correlated_data
>>> X, y, _ = make_correlated_data(n_samples=100, n_features=1000)
>>> estimator = Lasso()
>>> estimator.fit(X, y)

This is just a starter examples. Make sure to browse celer documentation to learn more about its features. To get familiar with celer API, you can also explore the gallery of examples which includes examples on real-life datasets as well as timing comparison with other solvers.

Contribute to celer

celer is an open source project and hence rely on community efforts to evolve. Your contribution is highly valuable and can come in three forms

  • bug report: you may encounter a bug while using celer. Don't hesitate to report it on the issue section.
  • feature request: you may want to extend/add new features to celer. You can use the issue section to make suggestions.
  • pull request: you may have fixed a bug, enhanced the documentation, ... you can submit a pull request and we will reach out to you asap.

For the last mean of contribution, here are the steps to help you setup celer on your local machine:

  1. Fork the repository and afterwards run the following command to clone it on your local machine
git clone https://github.com/{YOUR_GITHUB_USERNAME}/celer.git
  1. cd to celer directory and install it in edit mode by running
cd celer
pip install -e .
  1. To run the gallery examples and build the documentation, run the followings
cd doc
pip install -e .[doc]
make html

Cite

celer is licensed under the BSD 3-Clause. Hence, you are free to use it. If you do so, please cite:

@InProceedings{pmlr-v80-massias18a,
  title     = {Celer: a Fast Solver for the Lasso with Dual Extrapolation},
  author    = {Massias, Mathurin and Gramfort, Alexandre and Salmon, Joseph},
  booktitle = {Proceedings of the 35th International Conference on Machine Learning},
  pages     = {3321--3330},
  year      = {2018},
  volume    = {80},
}

@article{massias2020dual,
  author  = {Mathurin Massias and Samuel Vaiter and Alexandre Gramfort and Joseph Salmon},
  title   = {Dual Extrapolation for Sparse GLMs},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {234},
  pages   = {1-33},
  url     = {http://jmlr.org/papers/v21/19-587.html}
}

Further links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

celer-0.7.3.tar.gz (47.3 kB view details)

Uploaded Source

Built Distributions

celer-0.7.3-cp310-cp310-win_amd64.whl (752.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

celer-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

celer-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl (947.3 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

celer-0.7.3-cp39-cp39-win_amd64.whl (754.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

celer-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

celer-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl (950.4 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

celer-0.7.3-cp38-cp38-win_amd64.whl (761.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

celer-0.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

celer-0.7.3-cp38-cp38-macosx_10_9_x86_64.whl (943.4 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file celer-0.7.3.tar.gz.

File metadata

  • Download URL: celer-0.7.3.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for celer-0.7.3.tar.gz
Algorithm Hash digest
SHA256 6951fe67bb7dbc8e50a6f58743af085d2139749a4cbb97593d77f579888ca100
MD5 3c8ada81d8d090c64511b4a9741438af
BLAKE2b-256 6958738c7d7ef0ff6527c571153a1becc92f2f0ed312d7cf8c7f8d217f02bbce

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: celer-0.7.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 752.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for celer-0.7.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e7c786e808b8040387f63816e2d035b963c44042a9074d0ec74a928a50f3fdd8
MD5 c6fe65bbeb2bfd87a8f0f4db1a0b25f6
BLAKE2b-256 602b71c62b7dd01251c035ae5bd8f5a8b1e47f0aa0d60b4d290053b97ed9928f

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for celer-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59153d118e1c775d3952e76d38ee1ae8b881619189865ca4530963ff29bc5ed8
MD5 8b7941cc1485ffeae695155437009817
BLAKE2b-256 a4c8aad0ee117e953554973d16066805885e17fae47bde9b4a51969e38fc5b1d

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for celer-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 196146babb6e335cb8b7fd0c1f6f70ad3721fb9edbacb1c57763eff0ae9beff9
MD5 dc32e0c61f3d4cd1d34b82eb65b38803
BLAKE2b-256 4d8b385d117d4221a3ac6fa3c0ce0d3425f4d7f24538b1f3ab9e4016df246c1f

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: celer-0.7.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 754.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for celer-0.7.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 29eb1ea1dbfeaf2ce02cb06fe48f9dd2ba6fc0531f7c16f4203a85f975865ca6
MD5 7c6ef6a09b3675c47620525b4a2abd25
BLAKE2b-256 75d3bedbf293c60882dc94b076684d3b8794a231f2408f54cd2ef8c180717e08

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for celer-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d280d8687b2573b02003ec0b9b6a2fc02735115b2dfe263362cf7a5e0dc7be2
MD5 0ebbf7cc386d045368ba01692d27bcd8
BLAKE2b-256 13339cb32e6c0b37a3d3459b1e9bd4c6c0b1ffeb1485c06b3e54a0845603cdcd

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for celer-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0996bcae9ea06a78f35a0260efff689923a80d2129347b26288b75ee24f590c0
MD5 5fc7752ff1cafcdb5f8040f79e61be06
BLAKE2b-256 66ec3c600d1d5494171521d5f25233eaca4a346b106d125c4eb825228ce1ceb7

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: celer-0.7.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 761.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for celer-0.7.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7699453853852ab4369cda7b6fee1632ea063d1f3fb42600fa6d89931ccccb84
MD5 b95d5fad67b8ae4f0242e9918d343c22
BLAKE2b-256 2fc54bb254906b61074fb1f40af29bd5b9a68e0e4dbedcf10e6dcff7604803ea

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for celer-0.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7dfa7736ae6a0121989001309964a2b25aa4a1390ebb604f2580a3a0a15b300d
MD5 f4a752c0d405a7c0789c9890b9e54174
BLAKE2b-256 cef445b5747d07d74879199dbb4853f26f843008864c8a0cc1e9aa375af63920

See more details on using hashes here.

File details

Details for the file celer-0.7.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for celer-0.7.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 62d5c8c6e06dcba4be3382197ae73dff852d50b1318aeb8a3e63ecae71a91e59
MD5 0cb3edc2223c78bbf366fed50ec60ed7
BLAKE2b-256 5060fb7de64a2d3543d7c3e05f98b39187dfd98a9bf0d7f8519ff15e8301e08f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page