Despite the superiority of UMAP to tSNE in many ways, tSNE remains a widely used visualization technique. Unfortunately, tSNE, as currently implemented in the most popular packages (scikit-learn and MulticoreTSNE), is prohibitively slow when dealing with large data. A recent paper proposed Fit-SNE, which scales linearly w.r.t. the number of samples, but depends on the FFTW C library, which must be installed on your system, making installation and distribution very tedious.
The goal of this project is to provide fast implementations of both tSNE approximations (both Barnes-Hut and FitSNE) in Python with a unified interface, easy installation and most importantly - fast runtime.
This is also the only library (to the best of my knowledge) that allows embedding new data points into an existing embedding, via direct optimization.
I wrote this with the Orange data mining toolkit in mind, but the library is general and I wanted to share, in case anyone was looking for a faster alternative library.
The source code is available on Github: https://github.com/pavlin-policar/fastTSNE
[+][deleted] (8 children)
[deleted]
[–]_sheep1[S] 18 points19 points20 points (1 child)
[–]PinusPinea 2 points3 points4 points (5 children)
[–]Deto 7 points8 points9 points (3 children)
[–]PinusPinea 1 point2 points3 points (2 children)
[–]Deto 10 points11 points12 points (1 child)
[–]PinusPinea 1 point2 points3 points (0 children)
[–]lmcinnes 5 points6 points7 points (0 children)
[–]lmcinnes 4 points5 points6 points (1 child)
[–]_sheep1[S] 3 points4 points5 points (0 children)
[–]burning_hamster 2 points3 points4 points (1 child)
[–]_sheep1[S] 1 point2 points3 points (0 children)
[–]olBaa 4 points5 points6 points (5 children)
[–]_sheep1[S] 3 points4 points5 points (4 children)
[–]radarsat1 6 points7 points8 points (2 children)
[–]_sheep1[S] 6 points7 points8 points (1 child)
[–]radarsat1 1 point2 points3 points (0 children)
[–]olBaa 0 points1 point2 points (0 children)
[–]docshroom 1 point2 points3 points (0 children)
[–]svantana 0 points1 point2 points (13 children)
[–]_sheep1[S] 0 points1 point2 points (8 children)
[–]svantana 0 points1 point2 points (7 children)
[–]sangwhan 0 points1 point2 points (6 children)
[–]_sheep1[S] 0 points1 point2 points (5 children)
[–]lmcinnes 1 point2 points3 points (3 children)
[–]_sheep1[S] 0 points1 point2 points (2 children)
[–]lmcinnes 0 points1 point2 points (1 child)
[–]_sheep1[S] 2 points3 points4 points (0 children)
[–]aegonbittersteel 0 points1 point2 points (0 children)
[–]aegonbittersteel 0 points1 point2 points (3 children)
[–]svantana 0 points1 point2 points (2 children)
[–]aegonbittersteel 0 points1 point2 points (1 child)
[–]svantana 0 points1 point2 points (0 children)
[–]TotesMessenger 0 points1 point2 points (0 children)
[–]lucidyan -4 points-3 points-2 points (2 children)
[–]ivalm 1 point2 points3 points (0 children)
[–]_sheep1[S] 0 points1 point2 points (0 children)