Skip to content

L0Learn

Fast Algorithms for Best Subset Selection

v2.1.0 · Mar 7, 2023 · MIT + file LICENSE

Description

Highly optimized toolkit for approximately solving L0-regularized learning problems (a.k.a. best subset selection). The algorithms are based on coordinate descent and local combinatorial search. For more details, check the paper by Hazimeh and Mazumder (2020) <doi:10.1287/opre.2019.1919>.

Downloads

1.3K

Last 30 days

3391st

3.8K

Last 90 days

13.8K

Last year

Trend: +1% (30d vs prior 30d)

CRAN Check Status

14 NOTE
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang NOTE
r-devel-linux-x86_64-debian-gcc NOTE
r-devel-linux-x86_64-fedora-clang NOTE
r-devel-linux-x86_64-fedora-gcc NOTE
r-devel-macos-arm64 NOTE
r-devel-windows-x86_64 NOTE
r-oldrel-macos-arm64 NOTE
r-oldrel-macos-x86_64 NOTE
r-oldrel-windows-x86_64 NOTE
r-patched-linux-x86_64 NOTE
r-release-linux-x86_64 NOTE
r-release-macos-arm64 NOTE
r-release-macos-x86_64 NOTE
r-release-windows-x86_64 NOTE
Check details (16 non-OK)
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-oldrel-macos-arm64

installed package size

installed size is 13.0Mb
  sub-directories of 1Mb or more:
    doc    2.4Mb
    libs  10.4Mb
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 13.2Mb
  sub-directories of 1Mb or more:
    doc    2.4Mb
    libs  10.7Mb
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1) L0Learn-package.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?

Check History

NOTE 0 OK · 14 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?
NOTE r-oldrel-macos-arm64

installed package size

installed size is 13.0Mb
  sub-directories of 1Mb or more:
    doc    2.4Mb
    libs  10.4Mb
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 13.2Mb
  sub-directories of 1Mb or more:
    doc    2.4Mb
    libs  10.7Mb
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) GenSyntheticLogistic.Rd:46: Lost braces; missing escapes or markup?
    46 | 3) Every coordinate yi of the outcome vector y exists in {-1, 1}^n is sampled 
       |                                                          ^
checkRd: (-1
...[truncated]...
describe ?
checkRd: (-1) L0Learn-package.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) L0Learn-package.Rd:25: Lost braces in \itemize; meant \describe ?

Reverse Dependencies (2)

Dependency Network

Dependencies Reverse dependencies Rcpp Matrix ggplot2 reshape2 MASS inferCSN modelSelection L0Learn

Version History

new 2.1.0 Mar 10, 2026
updated 2.1.0 ← 2.0.3 diff Mar 6, 2023
updated 2.0.3 ← 2.0.0 diff Apr 2, 2021
updated 2.0.0 ← 1.2.0 diff Mar 3, 2021
updated 1.2.0 ← 1.1.0 diff Aug 29, 2019
updated 1.1.0 ← 1.0.8 diff Apr 7, 2019
updated 1.0.8 ← 1.0.7 diff Oct 28, 2018
updated 1.0.7 ← 1.0.2 diff Sep 10, 2018
updated 1.0.2 ← 1.0.0 diff Jul 2, 2018
new 1.0.0 Jun 30, 2018