[Perf #478] KMeans Digits fit: eliminate 5.9x training deficit while preserving clustering equivalence

Aperta
#485 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
42/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python, scikit-learn

Direzione di ricerca

Non viene indicato alcun file o test. Inizia individuando l’implementazione del fit di KMeans e i controlli delle prestazioni esistenti per Digits e Iris, quindi profila le fasi elencate e registra i conteggi delle operazioni alle scale richieste. Il lavoro è completato quando il profilo e le misurazioni sono registrati, la parità di Inertia e ARI rimane invariata, gli obiettivi di fit indicati sono raggiunti e il vantaggio nella prediction è preservato.

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

Descrizione

Parent: #478

Canonical v2 Digits: Flow fit 351.94 ms vs sklearn 59.75 ms while Flow predict is faster (0.082 ms vs 0.132 ms). End-to-end is ~0.170x. Iris KMeans already wins ~6.7x, so the hole is scale-sensitive fit behavior.

Profile initialization, distance matrix/assignment, centroid accumulation, empty-cluster handling, convergence checks, restarts, allocation/copies and iteration count. Record distance evaluations and iterations so algorithmic work is separated from kernel throughput. Preserve the existing ARI/inertia semantic contract.

Acceptance: stage/iteration profile, operation counts, scaled samples/features/clusters/restarts, no regression in inertia/ARI parity, Digits fit >=0.95x first and >=1.05x target, current prediction win retained.

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.