Tracking issue for linear-model solver work. Do not start code before an RFC is agreed here.
Member issues
Why grouped
#63/#70 are the same capability seen from two angles (penalty term vs solver). #62 needs an optimizer abstraction that overlaps both. Decide the solver/penalty trait shape once, then implement members against it.
Current state (main @ a955334)
LogisticRegression supports L2 only via LBFGS (src/linear/logistic_regression.rs).
ElasticNet exists but is linear-regression only (src/linear/elastic_net.rs).
Constraints (repo conventions)
- Pure Rust, no macros; zero-copy iteration;
numbers/ traits only.
- Keep the sklearn-inspired API surface consistent with existing linear models (getters:
coefficients(), intercept()).
- Consider no_std impact (v0.7 roadmap) when choosing solver dependencies — none are wanted.
RFC requirements
Post a short RFC comment before any PR: penalty/solver trait sketch, convergence criteria, serde parameters, no_std impact.
Acceptance criteria
Tracking issue for linear-model solver work. Do not start code before an RFC is agreed here.
Member issues
Why grouped
#63/#70 are the same capability seen from two angles (penalty term vs solver). #62 needs an optimizer abstraction that overlaps both. Decide the solver/penalty trait shape once, then implement members against it.
Current state (main @ a955334)
LogisticRegressionsupports L2 only via LBFGS (src/linear/logistic_regression.rs).ElasticNetexists but is linear-regression only (src/linear/elastic_net.rs).Constraints (repo conventions)
numbers/traits only.coefficients(),intercept()).RFC requirements
Post a short RFC comment before any PR: penalty/solver trait sketch, convergence criteria, serde parameters, no_std impact.
Acceptance criteria