Class PCA

java.lang.Object
org.episteme.core.mathematics.ml.PCA

public class PCA extends Object
Principal Component Analysis (PCA).

Finds principal components (directions of max variance) using SVD. Used for: feature reduction, visualization, noise reduction.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • PCA

      public PCA()
  • Method Details

    • fit

      public void fit(Real[][] data, int nComponents)
      Fits PCA model to data.
      Parameters:
      data - n samples × d features
      nComponents - number of components to keep (≤ d)
    • transform

      public Real[][] transform(Real[][] data)
      Transforms data to principal component space.
      Parameters:
      data - data to transform (same features as training data)
      Returns:
      transformed data (n × nComponents)
    • inverseTransform

      public Real[][] inverseTransform(Real[][] transformedData)
      Inverse transform: reconstructs original space from PCA space.

      Useful for visualization, noise filtering.

    • getExplainedVarianceRatio

      public Real[] getExplainedVarianceRatio()
      Returns explained variance ratio for each component.
    • getTotalExplainedVariance

      public Real getTotalExplainedVariance()
      Returns total explained variance ratio (sum of all components).
    • getComponents

      public Matrix<Real> getComponents()