godofecht / godofecht/flow-scikit

[Perf #478] Lasso fit: beat sklearn coordinate descent rather than settling for a near tie

Open
#486 1 comment 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.