pub struct PicardConfig {Show 16 fields
pub density: DensityType,
pub n_components: Option<usize>,
pub ortho: bool,
pub extended: Option<bool>,
pub whiten: bool,
pub centering: bool,
pub max_iter: usize,
pub tol: f64,
pub m: usize,
pub ls_tries: usize,
pub lambda_min: f64,
pub w_init: Option<Array2<f64>>,
pub fastica_it: Option<usize>,
pub jade_it: Option<usize>,
pub random_state: Option<u64>,
pub verbose: bool,
}Expand description
Configuration parameters for the PICARD algorithm.
Fields§
§density: DensityTypeDensity function to use for ICA.
n_components: Option<usize>Number of components to extract. If None, uses min(n_features, n_samples).
ortho: boolIf true, uses Picard-O with orthogonal constraint.
extended: Option<bool>If true, uses extended algorithm for sub/super-Gaussian sources.
Defaults to same value as ortho if not specified.
whiten: boolIf true, perform whitening on the data.
centering: boolIf true, center the data before processing.
max_iter: usizeMaximum number of iterations.
tol: f64Convergence tolerance for gradient norm.
m: usizeSize of L-BFGS memory.
ls_tries: usizeMaximum line search attempts.
lambda_min: f64Minimum eigenvalue for Hessian regularization.
w_init: Option<Array2<f64>>Initial unmixing matrix. If None, uses random initialization.
fastica_it: Option<usize>Number of FastICA iterations before PICARD. If None, skip FastICA.
jade_it: Option<usize>Number of JADE iterations before PICARD. If None, skip JADE. JADE (Joint Approximate Diagonalization of Eigenmatrices) can provide a better warm start than FastICA for some data distributions.
random_state: Option<u64>Random seed for reproducibility.
verbose: boolIf true, print progress information.
Implementations§
Source§impl PicardConfig
impl PicardConfig
Sourcepub fn builder() -> ConfigBuilder
pub fn builder() -> ConfigBuilder
Create a builder for constructing a configuration.
Sourcepub fn effective_extended(&self) -> bool
pub fn effective_extended(&self) -> bool
Get the effective value of extended (defaults to ortho if not set).
Sourcepub fn validate(&self) -> Result<(), PicardError>
pub fn validate(&self) -> Result<(), PicardError>
Validate the configuration.
Trait Implementations§
Source§impl Clone for PicardConfig
impl Clone for PicardConfig
Source§fn clone(&self) -> PicardConfig
fn clone(&self) -> PicardConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more