tsne {tsne}R Documentation

The t-SNE method for dimensionality reduction

Description

Provides a simple function interface for specifying t-SNE dimensionality reduction on R matrices or "dist" objects.

Usage

tsne(X, initial_config = NULL, k = 2, initial_dims = 30, perplexity = 30,
     max_iter = 1000, min_cost = 0, epoch_callback = NULL, whiten = TRUE,
     epoch=100)

Arguments

X

The R matrix or "dist" object

initial_config

an argument providing a matrix specifying the initial embedding for X. See Details.

k

the dimension of the resulting embedding.

initial_dims

The number of dimensions to use in reduction method.

perplexity

Perplexity parameter. (optimal number of neighbors)

max_iter

Maximum number of iterations to perform.

min_cost

The minimum cost value (error) to halt iteration.

epoch_callback

A callback function used after each epoch (an epoch here means a set number of iterations)

whiten

A boolean value indicating whether the matrix data should be whitened.

epoch

The number of iterations in between update messages.

Details

When the initial_config argument is specified, the algorithm will automatically enter the final momentum stage. This stage has less large scale adjustment to the embedding, and is intended for small scale tweaking of positioning. This can greatly speed up the generation of embeddings for various similar X datasets, while also preserving overall embedding orientation.

Value

An R object containing a ydata embedding matrix, as well as a the matrix of probabilities P

Author(s)

Justin Donaldson (jdonaldson@gmail.com)

References

L.J.P. van der Maaten and G.E. Hinton. Visualizing High-Dimensional Data Using t-SNE. Journal of Machine Learning Research 9 (Nov) : 2579-2605, 2008.

L.J.P. van der Maaten. Learning a Parametric Embedding by Preserving Local Structure. In Proceedings of the Twelfth International Conference on Artificial Intelligence and Statistics (AISTATS), JMLR W&CP 5:384-391, 2009.

See Also

dist

Examples

## Not run: 
colors = rainbow(length(unique(iris$Species)))
names(colors) = unique(iris$Species)
ecb = function(x,y){ plot(x,t='n'); text(x,labels=iris$Species, col=colors[iris$Species]) }
tsne_iris = tsne(iris[,1:4], epoch_callback = ecb, perplexity=50)

# compare to PCA
dev.new()
pca_iris = princomp(iris[,1:4])$scores[,1:2]
plot(pca_iris, t='n')
text(pca_iris, labels=iris$Species,col=colors[iris$Species])

## End(Not run)

[Package tsne version 0.1-3.1 Index]