sweep — n4m.model_selection.sweep.sweep¶
Namespace: n4m.model_selection.sweep · Fully-qualified: n4m.model_selection.sweep.sweep · Catalog id: utilities.sweep
API surface¶
C ABI (ABI 2): n4m_model_selection_sweep_run. Use the linked public header for the exact signature, configuration, and result handles.
Python (verified public re-export): from n4m.model_selection.sweep import sweep_run
R: no current source-verified entry point was found for this catalog method.
MATLAB / Octave: no current source-verified entry point was found for this catalog method.
Parameters¶
Name |
Type |
Default |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Explanations¶
Bibliographic source¶
No canonical scientific paper defines this orchestration utility; it is a reproducible enumeration and scoring surface.
Mathematical principle¶
Evaluate every configuration in a declared finite grid under the supplied validation plan, collect scores and diagnostics, then expose a deterministic ranked table rather than silently choosing a configuration.
Appropriate uses¶
Small, explicit hyperparameter or method grids where the complete candidate record is needed for audit and comparison.
Limits and validation¶
A sweep increases selection-induced optimism; use nested or held-out evaluation. It cannot make an under-specified grid represent an untested method family and should not be confused with Bayesian optimization.
Implementation¶
n4m.model_selection.sweep; C ABI n4m_model_selection_sweep_run.
Sources and provenance¶
https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/sweep.py; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/include/n4m/model_selection.h
Catalog note¶
Native Ridge/PLS candidate screen. Ridge is exact over row-additive moments when efficient and uses native dual kernels in wide regimes; compatible single-target NIPALS/regression PLS1 grids score from train/held-out moments, with a scalar host loop for medium-width CUDA builds and a device-resident cuBLAS component loop plus reused exact-CV fold workspace for very wide p>=1024 CUDA moment screens; materialized prefix scoring remains for other PLS regimes. PLS fit-cost counters are exposed as n_pls_moment_cv_fits, n_pls_moment_host_cv_fits, n_pls_moment_cuda_device_cv_fits, n_pls_materialized_cv_fits, n_pls_moment_final_fits, n_pls_moment_host_final_fits, n_pls_moment_cuda_device_final_fits and n_pls_materialized_final_fits so timing screens can distinguish moment-prefix fits, host/device PLS1 moment execution, and materialized fallback fits. Python exposes score_only=True for ranking passes that keep scores and selected ids while skipping selected-model buffers; score-only materialized fallback cells compute held-out SSE directly from linear fits when possible, and wide dual cross-kernel Ridge cells score directly from K_cross, to avoid held-out prediction-buffer allocation. This is not stream-parallel or fused batched IKPLS yet.
Timing benchmark: benchmarks/cross_binding/bench_moment_sweep_timing.py
See also: methods index.