This repository provides code to reproduce the experiments for the academic research paper Coordinate Descent for SLOPE.
This repository contains the following items:
code
folder contains the code for the solvers, the results produces from
our experiments, a few (smaller) experiments, as well as scripts to generate
the figures in the paper experimentstex
folder contains the source code for the paper.benchmark_slope
folder is a submodule of the benchopt benchmark
located at https://github.com/klopfe/benchmark_slope, which was used
to run the main benchmarks in the paper.First make sure that you have conda available on your computer. Installation instructions are available here.
Then, start by creating a conda environment within which the benchmarks should be run. Here, we also install two R packages that were used in one of the experiments.
conda create -n slopecd -c conda-forge -y \
python=3.9 r=4.2 r-slope=0.4 r-glmnet=4.1
conda activate slopecd
pip install benchopt
After this, make sure that you have navigated to the root folder of the extracted archive. Then run
pip install code/
to install the python module slope
.
Finally, to install the benchopt benchmark, run
benchopt install -y benchmark_slope/
Some experiments are available in code/expes
and can be run simply by calling
python expes/<experiment>
, or Rscript expes/<experiment>
where
<experiment>
is the name of one of the python or R files in the folder.
To re-run the main benchmarks from the paper, modify benchmark_slope/config.yml
to
include or exclude objectives, solvers, and datasets by commenting or
uncommenting them. Then call
benchopt run benchmark_slope/ --config benchmark_slope/config.yml
to run the benchmark.
The results used in the paper are stored in the code/results
folder.
The figures can be re-created by calling the python scripts in
code/scripts/figures
.