mathurinm / andersoncd

This code is no longer maintained. The codebase has been moved to https://github.com/scikit-learn-contrib/skglm. This repository only serves to reproduce the results of the AISTATS 2021 paper "Anderson acceleration of coordinate descent" by Quentin Bertrand and Mathurin Massias.
BSD 3-Clause "New" or "Revised" License
18 stars 6 forks source link

WARNING

This code is no longer maintained. The codebase has been moved to https://github.com/scikit-learn-contrib/skglm. This repository only serves to reproduce the results of the AISTATS 2021 paper "Anderson acceleration of coordinate descent" by Quentin Bertrand and Mathurin Massias.

Anderson extrapolation for Coordinate Descent

|image0| |image1|

This package implements various GLM models missing from scikit-learn (Lasso, Weighted Lasso, MCP) with a lightning fast solver based on Anderson acceleration of coordinate descent and working set techniques.

Install

To be able to run the code you first need to run, in this folder (code folder, where the setup.py is): ::

pip install -e .

Reproduce all experiments

The experiments are on a legacy branch, at https://github.com/mathurinm/andersoncd/tree/backup_expes_paper

Figure 7, 8, 9 and 10, 11, 12 in appendix (convergence on various datasets and regularizers): These take quite a long time to run given the extensive validation, they should be run with multithreading. ::

cd expes/expe_conv_logreg
run main.py
run plot.py

and the same for expes/expe_conv_enet and expes/expe_conv_lasso

.. |image0| image:: https://github.com/mathurinm/andersoncd/workflows/build/badge.svg :target: https://github.com/mathurinm/andersoncd/actions?query=workflow%3Abuild .. |image1| image:: https://codecov.io/gh/mathurinm/andersoncd/branch/master/graphs/badge.svg?branch=master :target: https://codecov.io/gh/mathurinm/andersoncd