Skip to main content

Extensible, parallel implementations of t-SNE

Project description

Build Status Documentation Status License Badge

openTSNE is a modular Python implementation of t-Distributed Stochasitc Neighbor Embedding (t-SNE) [1], a popular dimensionality-reduction algorithm for visualizing high-dimensional data sets. openTSNE incorporates the latest improvements to the t-SNE algorithm, including the ability to add new data points to existing embeddings [2], massive speed improvements [3] [4] [5], enabling t-SNE to scale to millions of data points and various tricks to improve global alignment of the resulting visualizations [6].

Macosko 2015 mouse retina t-SNE embedding

A visualization of 44,808 single cell transcriptomes obtained from the mouse retina [7] embedded using the multiscale kernel trick to better preserve the global aligment of the clusters.

Installation

openTSNE can be installed on all supported versions of Python.

Conda

openTSNE can be easily installed from conda-forge with

conda install --channel conda-forge opentsne

Conda package

PyPi

openTSNE is also available through pip and can be installed with

pip install opentsne

PyPi package

Installing from source

If you wish to install openTSNE from source, please run

pip install .

in the root directory to install the appropriate dependencies and compile the necessary binary files.

Please note that openTSNE requires a C/C++ compiler to be available on the system.

In order for openTSNE to utilize multiple threads, the C/C++ compiler must support OpenMP. In practice, almost all compilers implement this with the exception of older version of clang on OSX systems.

To squeeze the most out of openTSNE, you may also consider installing FFTW3 prior to installation. FFTW3 implements the Fast Fourier Transform, which is heavily used in openTSNE. If FFTW3 is not available, openTSNE will use numpy’s implementation of the FFT, which is slightly slower than FFTW. The difference is only noticeable with large data sets containing millions of data points.

A hello world example

Getting started with openTSNE is very simple. First, we’ll load up some data using scikit-learn

from sklearn import datasets

iris = datasets.load_iris()
x, y = iris["data"], iris["target"]

then, we’ll import and run

from openTSNE import TSNE

embedding = TSNE().fit(x)

Citation

If you make use of openTSNE for your work we would appreciate it if you would cite the paper

@article{Policar2024,
    title={openTSNE: A Modular Python Library for t-SNE Dimensionality Reduction and Embedding},
    author={Poli{\v c}ar, Pavlin G. and Stra{\v z}ar, Martin and Zupan, Bla{\v z}},
    journal={Journal of Statistical Software},
    year={2024},
    volume={109},
    number={3},
    pages={1–30},
    doi={10.18637/jss.v109.i03},
    url={https://www.jstatsoft.org/index.php/jss/article/view/v109i03}
}

openTSNE implements two efficient algorithms for t-SNE. Please consider citing the original authors of the algorithm that you use. If you use FIt-SNE (default), then the citation is [5] below, but if you use Barnes-Hut the citations are [3] and [4].

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentsne-1.0.4.tar.gz (252.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

opentsne-1.0.4-cp314-cp314-win_amd64.whl (448.7 kB view details)

Uploaded CPython 3.14Windows x86-64

opentsne-1.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

opentsne-1.0.4-cp314-cp314-macosx_10_15_universal2.whl (976.1 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

opentsne-1.0.4-cp313-cp313-win_amd64.whl (437.5 kB view details)

Uploaded CPython 3.13Windows x86-64

opentsne-1.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

opentsne-1.0.4-cp313-cp313-macosx_10_13_universal2.whl (974.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

opentsne-1.0.4-cp312-cp312-win_amd64.whl (438.3 kB view details)

Uploaded CPython 3.12Windows x86-64

opentsne-1.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

opentsne-1.0.4-cp312-cp312-macosx_10_13_universal2.whl (982.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

opentsne-1.0.4-cp311-cp311-win_amd64.whl (437.8 kB view details)

Uploaded CPython 3.11Windows x86-64

opentsne-1.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

opentsne-1.0.4-cp311-cp311-macosx_10_12_universal2.whl (977.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)

opentsne-1.0.4-cp310-cp310-win_amd64.whl (438.8 kB view details)

Uploaded CPython 3.10Windows x86-64

opentsne-1.0.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

opentsne-1.0.4-cp310-cp310-macosx_10_12_universal2.whl (977.7 kB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)

File details

Details for the file opentsne-1.0.4.tar.gz.

File metadata

  • Download URL: opentsne-1.0.4.tar.gz
  • Upload date:
  • Size: 252.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for opentsne-1.0.4.tar.gz
Algorithm Hash digest
SHA256 e90bf612be94fcbe06e3cab9531a58e4824661f38dd7c2e934569820d15c82ab
MD5 78d3f22e7560c78718cdba32ca245afb
BLAKE2b-256 9d164c73977c4702c6a9452248d4562ba61579a215bc09e4c50b795de65fbbca

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: opentsne-1.0.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 448.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for opentsne-1.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1676c4e16c62cdf2ce4e3c75a91dbd2572f7c814675e13d825be8559aecb3d7c
MD5 c132df5ebb5108279e228231e4805ac4
BLAKE2b-256 5ba0e0633cbccf94a5a7e88bc63cb2ee39c8a618f8b1f573102420d22d8a2729

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f76202a0d46c4dad19555d12af94cffc95c66f654d4d104a51ff42fc4eacd0d
MD5 c8cc4f561f3602628226bfb2e74c0f8b
BLAKE2b-256 1e840a21d042f284e9687273280a7c90d2bdc58981f48f36750f3fca0add3646

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 50fb43e2677490dc87355116a355fca09e86e9d4a45dd8cbcfcb01612c836295
MD5 b846989ff4810980065b1467afda25c8
BLAKE2b-256 66cfbabb54029f28b4fb82c5245a8ecdcc5ec40eb0aac94290bfb704311f6ac4

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: opentsne-1.0.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 437.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for opentsne-1.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f681ed5957e99af9500538384bfc15b50697f99c7cd057cfe8863d50248cc228
MD5 1c32c34646270ef72118a320ef4bbe22
BLAKE2b-256 e654f2ebcceade78726cda5cbfa96c3f3fc322df213ecb517263bf90b7d65e9b

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d3bd0e2bc9f557ce75ab4b19038480364a60fc9ffcd2362838ff854bc2a0331
MD5 e4161bdf11a7dd834005c58194306b14
BLAKE2b-256 2189cb521035739b4ff900cfb0530dcb70c1d689800f05bf966f67caf54e944b

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9c594f6224f6b4cf98988651aabe68e0ffd408822559f1450ee870f8e496a233
MD5 798b783c7eff6717ca1c0dd853a945b4
BLAKE2b-256 97c37df65a76da64cd157af1a62679ac0ff76dd36398faeb7cc56cd46634ea09

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: opentsne-1.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 438.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for opentsne-1.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3a28e474804bf3b56ec6f2574eacaa3ffa5efc2dd30b642aa9907b31a982dcc1
MD5 9e0d5952671eb53efcaa852b0c76ba0a
BLAKE2b-256 35727806a5ef1cb922cac2a5aef75dc3aa947009880fe81ece15c02670e49db5

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 610626be6ff6062b96e1b122ff219fbeb34957578a0f0f420aa3cc3505ab3547
MD5 b54ee0163b6ce9b81f27430ff169d937
BLAKE2b-256 70b80f757c94ea08ce907beaa223be700bdf2ea0378563326489aa7b2c2f7dc9

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3787feeb58818569a5a8a09e12a63ba4dfc33bee89b221b530a11495c72d203c
MD5 dfb056bc92e48bfbc9334dc2c3483c46
BLAKE2b-256 0ab1f64c27fea1cb6a70f9517e599dcf992223be6fbad7392daeb870db2d504b

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: opentsne-1.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 437.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for opentsne-1.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c6b862eacf4387f8e790d9d3bf48e2e86e8135f9fbf8ea58db6e593c48950ced
MD5 e07c634f66abf0a17b100b51ad6d7af2
BLAKE2b-256 e89e720bce1be767d0a7001dc731be2da0392fee835c8cbf6d6549de2c80aea7

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1563bbb017d1cfecc230ec1cc3adb33b3edf40f6b6444939645fe28611eb3853
MD5 c7f2745d9b6b62591abdcd4fc96d5454
BLAKE2b-256 e3de4da97abd52d19e0f3d9b91b83a57b5d74ddd73b378d4ed032f41fea5ed1d

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp311-cp311-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp311-cp311-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 50819514cf229b50f9cd3dcd7680ad48aca70deecad40baa05db132af42254f5
MD5 26a72f4ee0a597429dbe09a4f50003f3
BLAKE2b-256 da39dbab9b2ef432a9087d63b18efd8e2c12ec6ef8483e9ce46b9281ab58b9b5

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: opentsne-1.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 438.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for opentsne-1.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f2c4670461372880ecddbe839245faab30f2472d3d42ca0c52c6e302d4b459fa
MD5 1b6a8399ecdd362edbf8cff349250863
BLAKE2b-256 7c31216d09652027d04c4d73723d8d7aea0e4f0b7548a534d380bb3790dfec81

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5cb81cbcb40fb5f813e86c772197fee8a8a85e756ebe5b9f158614224d5cd616
MD5 d3d8dda5456fc2c5df7c844994215c59
BLAKE2b-256 76bbc09e0ec0ddded578fc21174c66a14235c2333cd6e8cc31d6701dd23c0fa3

See more details on using hashes here.

File details

Details for the file opentsne-1.0.4-cp310-cp310-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for opentsne-1.0.4-cp310-cp310-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 b7923a4646dc2857668b600775cc8a44f6a9bf14f666e67c4d973d19cad1ff47
MD5 2d41502972bf9fc85f875370d2d6871a
BLAKE2b-256 edc02ed995afc5917c58bfeefdd65ea58c7d6fc90b0fe73b08ee5a3b8afa89a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page