[Perf #478] RandomForest Digits: remove per-tree training overhead and improve scaling

Aperta
#483 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python, scikit-learn

Direzione di ricerca

Inizia profilando l’addestramento di RandomForest su Digits nelle aree di generazione di bootstrap/campioni, RNG, configurazione per albero, fitting degli alberi, subsampling delle feature, allocazione e memorizzazione degli alberi. Riutilizza i risultati dell’issue #482 per separare l’orchestrazione della foresta dal costo condiviso del tree-core, quindi esegui gli sweep richiesti per estimator, sample e feature. Il lavoro è concluso quando il profilo dei tempi e delle allocazioni è documentato, la semantica e la diagnostica sono preservate e il fitting su Digits raggiunge almeno 0.95x senza perdere il miglioramento nella predizione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Parent: #478

Canonical v2 Digits: Flow fit 93.14 ms vs sklearn 28.95 ms; Flow predict 0.608 ms vs sklearn 0.919 ms. Prediction already wins; training is the entire regression. Iris end-to-end wins ~9.9x.

Profile bootstrap/sample generation, RNG, per-tree setup, tree fit, feature subsampling, allocation/free, tree storage and opportunities for parallel or batched work. Reuse #482 findings where the tree builder is shared.

Acceptance: tree-by-tree timing and allocation profile; distinguish forest orchestration from tree-core cost; scaled n_estimators/sample/feature sweeps; preserve bootstrap/RNG semantics and learned-state diagnostics; Digits fit >=0.95x first, target >=1.05x, without sacrificing the current prediction win.

Lingua principale
Python
Stelle
2
Fork
0
Merge medio
4h 33m
PR unite (30g)
9

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di godofecht/flow-scikit

Tutte le issue di godofecht/flow-scikit

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.