You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit introduces parallel execution to the mRMR feature selection algorithm
in the deep_causality_algorithms crate, significantly improving its performance on
large datasets.
The core changes include:
- Parallelizing the initial and iterative feature selection loops in both
mrmr_features_selector and mrmr_features_selector_cdl using the rayon crate.
- Guarding all parallel logic with the existing parallel feature flag, ensuring
sequential execution remains the default.
- Correcting bugs in the test suite and benchmark data generation to ensure
robust validation.
- Updating documentation to reflect the new parallel execution capability and
its performance benefits.
The parallel implementation has been verified to be functionally equivalent to the sequential version and demonstrates a significant speedup, as validated by both synthetic benchmarks and a real-world case study on the ICU sepsis dataset.
Signed-off-by: Marvin Hansen <[email protected]>
Copy file name to clipboardExpand all lines: deep_causality_algorithms/README.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,8 +52,7 @@ reveal the nature of multi-variable interactions.
52
52
***Performance Optimized**:
53
53
***Algorithmic Capping**: Use the `MaxOrder` enum to limit the analysis to a tractable number of interactions (
54
54
e.g., pairwise), reducing complexity from exponential `O(2^N)` to polynomial `O(N^k)`.
55
-
***Parallel Execution**: When compiled with the `parallel` feature flag, the main decomposition loop runs in
56
-
parallel across all available CPU cores using `rayon`.
55
+
***Parallel Execution**: When compiled with the `parallel` feature flag, the main decomposition loop of the SURD algorithm and the feature selection loops of the mRMR algorithm run in parallel across all available CPU cores using `rayon`.
0 commit comments