@kanaries/ml
API Reference/Decomposition

Kernel PCA

Learn nonlinear dimensionality reduction and run the @kanaries/ml KernelPCA JavaScript implementation in browser or Node.js applications.

View as Markdown

Algorithm overview

Kernel PCA applies PCA to an implicit nonlinear feature space. It can unfold curved structure that ordinary linear PCA cannot represent, using RBF, polynomial, sigmoid, cosine, or linear similarity.

JavaScript implementation

@kanaries/ml provides KernelPCA for browser visualization and Node.js preprocessing without a Python service. It supports out-of-sample transform, and optional kernel-ridge pre-image reconstruction.

Quick start example

import { Decomposition } from '@kanaries/ml';

const model = new Decomposition.KernelPCA({
  nComponents: 2,
  kernel: 'rbf',
  gamma: 2,
});
const embedded = model.fitTransform([[1, 0], [0, 1], [-1, 0], [0, -1]]);
console.log(embedded);

Detailed API reference

new Decomposition.KernelPCA({
  nComponents?: number | null;
  kernel?: 'linear' | 'poly' | 'rbf' | 'sigmoid' | 'cosine';
  gamma?: number; degree?: number; coef0?: number;
  alpha?: number; fitInverseTransform?: boolean; randomState?: number;
})

Methods: fit, transform, fitTransform, and inverseTransform. Learned eigenvalues and eigenvectors are exposed as defensive copies. Kernel methods build an O(n²) training matrix, so constrain browser sample counts.