@keckelt/tsne
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

tSNE

Updated implementation of tSNEJS in TypeScript. Published it on NPM: npm install @keckelt/tsne.

Usage

import {TSNE} from '@keckelt/tsne-js';

const data = [...];

// TODO one hot encoding, normalization, ...

const opt = {
  epsilon: 10, // epsilon is learning rate (10 = default)
  perplexity: data.length ** 0.5, // roughly how many neighbors each point influences (30 = default)
  dim: 2 // dimensionality of the embedding (2 = default)
};

const tsne = new TSNE(opt);
tsne.initDataRaw(data);

const iterations = 500;
for(let i = 0; i < iterations; i++) {
  tsne.step(); // every time you call this, solution gets better
}

var Y = tsne.getSolution(); // Y is an array of 2-D points that you can plot

Worker

You can use Comlink, for example, to wrap the TSNE class and have the code executed in a worker thread:

import * as Comlink from 'comlink';
import { TSNE } from '@keckelt/tsne-js';

Comlink.expose(TSNE);

Readme

Keywords

none

Package Sidebar

Install

npm i @keckelt/tsne

Weekly Downloads

227

Version

1.0.2

License

MIT

Unpacked Size

17 kB

Total Files

7

Last publish

Collaborators

  • keckelt