Factor Analysis
Fit a latent Gaussian factor model with per-feature noise in browser or Node.js using @kanaries/ml FactorAnalysis.
View as MarkdownFactor analysis
Algorithm overview
Factor analysis explains correlated observations with a smaller set of latent variables while estimating separate noise variance for every feature. It is useful when measurement noise matters more than PCA's total-variance objective.
JavaScript implementation
FactorAnalysis runs the sklearn-style EM/SVD update in JavaScript and supports optional varimax or quartimax rotation.
Quick start
import { Decomposition } from '@kanaries/ml';
const X = [[1, 2, 1], [2, 4, 1], [3, 6, 2], [4, 8, 2]];
const model = new Decomposition.FactorAnalysis({ nComponents: 2 });
const scores = model.fitTransform(X);
console.log(scores);Detailed API reference
Constructor options are nComponents, tol, maxIter, noiseVarianceInit, and rotation. Fitted state includes components, mean, noiseVariance, loglike, and nIter, plus getCovariance() and getPrecision().
Incremental PCA
Process numeric data in batches with the @kanaries/ml IncrementalPCA JavaScript implementation for memory-aware browser and Node.js workflows.
Latent Dirichlet Allocation Topic Modeling
Discover document topics from dense or CSR word-count matrices in JavaScript and TypeScript with @kanaries/ml.