Module dim_reduction

Module dim_reduction 

Source
Expand description

Dimensionality reduction for vectors

Reduce vector dimensions for visualization, compression, and faster search. Implements Principal Component Analysis (PCA) for efficient linear reduction.

§Use Cases

  • Visualization: Reduce high-dimensional vectors to 2D/3D for plotting
  • Compression: Reduce storage requirements
  • Speed: Faster similarity search with fewer dimensions
  • Noise reduction: Remove low-variance components

§Example

use vecstore::dim_reduction::PCA;

let vectors = vec![
    vec![1.0, 2.0, 3.0, 4.0],
    vec![2.0, 3.0, 4.0, 5.0],
    vec![3.0, 4.0, 5.0, 6.0],
];

// Reduce to 2 dimensions
let pca = PCA::new(2);
let reduced = pca.fit_transform(&vectors)?;

assert_eq!(reduced[0].len(), 2);

Structs§

PCA
Principal Component Analysis (PCA)
ReductionStats
Dimensionality reduction statistics