Crate linfa_tsne

source ·
Expand description


linfa-tsne provides a pure Rust implementation of exact and Barnes-Hut t-SNE.

The Big Picture

linfa-tsne is a crate in the linfa ecosystem, an effort to create a toolkit for classical Machine Learning implemented in pure Rust, akin to Python’s scikit-learn.

Current state

linfa-tsne currently provides an implementation of the following methods:

  • exact solution t-SNE
  • Barnes-Hut t-SNE

It wraps the bhtsne crate, all kudos to them.


There is an usage example in the examples/ directory. To run it, do:

$ cargo run --example tsne

You have to install the gnuplot library for plotting. Also take a look at the README to see what BLAS/LAPACK backends are possible.


Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 or the MIT license, at your option. This file may not be copied, modified, or distributed except according to those terms.


  • The t-SNE algorithm is a statistical method for visualizing high-dimensional data by giving each datapoint a location in a two or three-dimensional map.


  • Error variants from hyper-parameter construction or model estimation

Type Aliases