JamesYang007 / adelie

A fast and flexible Python package for solving group lasso and elastic net problems.
https://jamesyang007.github.io/adelie/
MIT License
13 stars 0 forks source link

Extend adelie to support different penalties #109

Open JamesYang007 opened 1 month ago

JamesYang007 commented 1 month ago

Other softwares seem to support a lot more penalties such as sparse group lasso (l1 + l2), MCP, SCAD. Think about how to abstract out penalty and constraints. This is tricky because a constraint class currently dictates how to perform the block-update, but it hard-codes the penalty to be elastic net.

Nice to haves:

API:

ad.grpnet(
    X=X,
    glm=ad.glm.gaussian(y),
    penalty=ad.penalty.elastic_net(alpha, penalty_factor),
    constraints=constraints,
)