godofecht / godofecht/flow-scikit
[Perf #478] Lasso fit: beat sklearn coordinate descent rather than settling for a near tie
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- Avg merge
- 4h 33m
- Merged PRs (30d)
- 9
Description
Parent: #478
Canonical v2 Diabetes: Flow fit 0.784 ms vs sklearn 0.704 ms; Flow predict is much faster (0.0087 ms vs 0.0725 ms). End-to-end is ~0.980x, inside practical-near-tie territory but still below the #478 target.
Profile coordinate updates, residual recomputation, feature norms, convergence/duality-gap checks, memory access, zero-skipping and allocation. Audit whether residuals and norms are maintained incrementally and whether the feature loop vectorizes.
Acceptance: fit-only profile and iteration count comparison; scaled rows/features/sparsity/alpha sweeps; coefficient/intercept and objective-state parity; fit >=1.05x sklearn on the canonical case without regressing prediction.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with a fit-only profile of the Lasso coordinate updates, residual and feature-norm handling, convergence checks, memory access, zero-skipping, and allocation. Compare iteration counts on the canonical v2 Diabetes case, then run scaled rows/features/sparsity/alpha sweeps and check coefficient, intercept, and objective-state parity. Done means fit reaches at least 1.05x sklearn on the canonical case without regressing prediction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100