MachineLearning/tsne library

🎯 t-SNE (t-distributed Stochastic Neighbor Embedding)

Small, focused implementation intended for visualization tasks. Uses Barnes-Hut style approximations would be required for large datasets; this implementation is educational but with clear docs and sensible defaults.

Contract:

  • Input: X (n x m), target dim (usually 2), perplexity
  • Output: low-dimensional embedding (n x dim)
  • Error: throws ArgumentError for invalid inputs

Time Complexity: O(n^2) naive Space Complexity: O(n^2)

Classes

PCA

Functions

tsne(List<List<double>> X, {int dim = 2, double perplexity = 30.0, int iterations = 1000}) → List<List<double>>