godofecht / godofecht/flow-scikit
[Perf #478] DecisionTree Digits: profile split search and recover sklearn-scale training throughput
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 Digits: Flow fit 30.49 ms vs sklearn 16.84 ms and predict 0.123 ms vs 0.098 ms; end-to-end ~0.553x. Iris already wins ~6x, so the regression appears with feature/sample scale rather than basic API overhead.
Profile node construction, candidate-threshold enumeration, sort/re-sort work, impurity calculation, feature scans, sample partitioning, temporary allocation and tree memory layout. Compare number of evaluated thresholds/nodes with sklearn to distinguish algorithmic work from low-level throughput.
Acceptance: per-stage/node profiling; node/threshold operation counts; scaled samples/features/depth curves; preserve or improve current accuracy and learned-tree diagnostics; fit and predict separately reach >=0.95x, target >=1.05x; Iris must remain a Flow win.
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 the Canonical v2 Digits DecisionTree comparison from parent #478 and profile node construction, threshold enumeration, impurity calculation, feature scans, partitioning, allocation, and tree layout. Compare threshold and node counts with sklearn across scaled samples, features, and depths. Done means separate fit and predict reach at least 0.95x while preserving accuracy, diagnostics, and the Iris performance win.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, scikit-learn
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100