Skip to content

feat: LASSO/Elastic Net via coordinate descent - #68

Merged
eprifti merged 1 commit into
mainfrom
feat/lasso
Mar 24, 2026
Merged

eprifti merged 1 commit into
mainfrom
feat/lasso

Conversation

@eprifti

@eprifti eprifti commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Native Rust LASSO with warm-start regularization path. 0.1s on Qin2014. 6 tests pass. Closes #65.

Native Rust L1/L2-regularized regression along regularization path:
- Coordinate descent with warm starts (fast convergence)
- Standardized features, centered targets
- Log-spaced alpha path from alpha_max to alpha_min
- Converts LASSO coefficients to BTR Individuals (sign → ±1)
- Supports Elastic Net via l1_ratio parameter

Qin2014 benchmark (ternary:prevalence):
  LASSO: Test AUC 0.853, k=177, 0.1s (fastest)
  SA:    Test AUC 0.911, k=48,  0.3s
  GA:    Test AUC 0.791, k=48,  0.5s

6 tests: soft threshold, coordinate descent (zero/high alpha),
         basic run, reproducibility, coefficient conversion

Closes #65
@eprifti
eprifti merged commit deec9a1 into main Mar 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement native LASSO/Elastic Net in Rust

1 participant