[StandardScaler] Rust- and numpy-backed implementation of StandardScaler#30
[StandardScaler] Rust- and numpy-backed implementation of StandardScaler#30e-strauss wants to merge 2 commits into
Conversation
9c3e431 to
9553cee
Compare
Codecov Report✅ All modified and coverable lines are covered by tests.
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
9553cee to
11ecd61
Compare
| let mut compute = || { | ||
| let stats: Vec<(f32, f32)> = (0..n_cols) | ||
| .into_par_iter() |
There was a problem hiding this comment.
This is good, but we may want to use SIMD (std::simd) for the kernels in the future.
Establishes a standardized framework for commit messages and issue referencing to maintain an organized and scannable project history. This provides clear instructions for contributors on how to categorize changes and link them to trackable work items.
11ecd61 to
c601c98
Compare
Introduces a parallel Rust `StandardScaler` kernel (`fit` + `transform`) and a NumPy-backed `StandardScaler`, wired through the Python adapter with sklearn-compatible fallback behavior. Adds correctness/fallback tests for both backends, and adds comprehensively benchmark and comparison of backends.
ec4a02f to
7fd7607
Compare
|
@phaniarnab |
Rust- and numpy-backed implementation of StandardScaler
StandardScalerThis PR does not contain the integration into stratum optimizer yet, e.g. for operator selection.
The benchmark evaluates the impact of the number of rows and columns of the Input X. Each datapoint is the average of 5 repeated runs.
Benchmark results:
Micro Benchmark number of concurrent tasks for Rust
Parallel StandardScaler Benchmark