Module dimensionality_reduction

Module dimensionality_reduction 

Source
Expand description

Dimensionality Reduction Transformers

This module provides dimensionality reduction techniques for preprocessing pipelines:

  • Principal Component Analysis (PCA)
  • Linear Discriminant Analysis (LDA)
  • Independent Component Analysis (ICA)
  • Non-negative Matrix Factorization (NMF)
  • t-SNE (t-distributed Stochastic Neighbor Embedding)

§Examples

use sklears_preprocessing::dimensionality_reduction::{PCA, PCAConfig};
use scirs2_core::ndarray::Array2;

fn example() -> Result<(), Box<dyn std::error::Error>> {
    let config = PCAConfig::new(2); // Reduce to 2 components
    let mut pca = PCA::new(config);
     
    let data = Array2::from_shape_vec((4, 3), vec![
        1.0, 2.0, 3.0,
        2.0, 4.0, 6.0,
        3.0, 6.0, 9.0,
        4.0, 8.0, 12.0,
    ])?;
     
    let pca_fitted = pca.fit(&data, &())?;
    let transformed = pca_fitted.transform(&data)?;
    println!("Reduced data shape: {:?}", transformed.dim());
     
    Ok(())
}

Structs§

ICA
Independent Component Analysis transformer
ICAConfig
Configuration for Independent Component Analysis
ICAFitted
Fitted ICA with learned parameters
LDA
Linear Discriminant Analysis transformer
LDAConfig
Configuration for Linear Discriminant Analysis
LDAFitted
Fitted LDA with learned parameters
NMF
Non-negative Matrix Factorization transformer
NMFConfig
Configuration for Non-negative Matrix Factorization
NMFFitted
Fitted NMF with learned parameters
PCA
Principal Component Analysis transformer
PCAConfig
Configuration for Principal Component Analysis
PCAFitted
Fitted PCA with learned parameters

Enums§

IcaAlgorithm
ICA algorithms
IcaFunction
Non-linearity functions for ICA
LdaSolver
Solver algorithms for LDA
NmfInit
Initialization methods for NMF
NmfSolver
Solver algorithms for NMF
PcaSolver
Solver algorithms for PCA