openTSNEslim 1.0.5
openTSNEslim is a slimmed down version of openTSNE that doesn't require use of scikit-learn or scipy for inference. This is useful for creating a smaller bundle for deployment.
Requires Python: >=3.9

openTSNEslim

========

openTSNEslim is a slimmed down version of openTSNE that doesn't require use of scikit-learn or scipy for inference. This is useful for creating a smaller bundle for deployment.

Forked repository create by Pavlin Poličar from https://github.com/pavlin-policar/openTSNE


openTSNE (original repository)

========


|Build Status| |ReadTheDocs Badge| |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]_.

.. figure:: docs/source/images/macosko_2015.png
   :alt: Macosko 2015 mouse retina t-SNE embedding
   :align: center

   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.

- `Documentation <http://opentsne.readthedocs.io>`__
- `User Guide and Tutorial <https://opentsne.readthedocs.io/en/latest/tsne_algorithm.html>`__
- Examples: `basic <https://opentsne.readthedocs.io/en/latest/examples/01_simple_usage/01_simple_usage.html>`__, `advanced <https://opentsne.readthedocs.io/en/latest/examples/02_advanced_usage/02_advanced_usage.html>`__, `preserving global alignment <https://opentsne.readthedocs.io/en/latest/examples/03_preserving_global_structure/03_preserving_global_structure.html>`__, `embedding large data sets <https://opentsne.readthedocs.io/en/latest/examples/04_large_data_sets/04_large_data_sets.html>`__
- `Speed benchmarks <https://opentsne.readthedocs.io/en/latest/benchmarks.html>`__

Installation
------------

openTSNEslim can be installed on all `supported versions of Python <https://devguide.python.org/versions/>`_.

PyPi
~~~~

openTSNEslim is also available through ``pip`` and can be installed with

::

   pip install opentsneslim

`PyPi package <https://pypi.org/project/openTSNE>`__


A hello world example
---------------------

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

.. code:: python

   from sklearn import datasets

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

then, we'll import and run

.. code:: python

   from openTSNEslim 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

.. code::

    @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
----------

.. [1] Van Der Maaten, Laurens, and Hinton, Geoffrey. `“Visualizing data using
    t-SNE.” <http://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf>`__
    Journal of Machine Learning Research 9.Nov (2008): 2579-2605.
.. [2] Poličar, Pavlin G., Martin Stražar, and Blaž Zupan. `“Embedding to Reference t-SNE Space Addresses Batch Effects in Single-Cell Classification.” <https://link.springer.com/article/10.1007/s10994-021-06043-1>`__ Machine Learning (2021): 1-20.
.. [3] Van Der Maaten, Laurens. `“Accelerating t-SNE using tree-based algorithms.”
    <http://www.jmlr.org/papers/volume15/vandermaaten14a/vandermaaten14a.pdf>`__
    Journal of Machine Learning Research 15.1 (2014): 3221-3245.
.. [4] Yang, Zhirong, Jaakko Peltonen, and Samuel Kaski. `"Scalable optimization of neighbor embedding for visualization." <https://proceedings.mlr.press/v28/yang13b.html>`__ International Conference on Machine Learning. PMLR, 2013.
.. [5] Linderman, George C., et al. `"Fast interpolation-based t-SNE for improved
    visualization of single-cell RNA-seq data." <https://www.nature.com/articles/s41592-018-0308-4>`__ Nature Methods 16.3 (2019): 243.
.. [6] Kobak, Dmitry, and Berens, Philipp. `“The art of using t-SNE for single-cell transcriptomics.” <https://www.nature.com/articles/s41467-019-13056-x>`__
    Nature Communications 10, 5416 (2019).
.. [7] Macosko, Evan Z., et al. `“Highly parallel genome-wide expression profiling of
    individual cells using nanoliter droplets.”
    <https://www.sciencedirect.com/science/article/pii/S0092867415005498>`__
    Cell 161.5 (2015): 1202-1214.

.. |Build Status| image:: https://dev.azure.com/pavlingp/openTSNE/_apis/build/status/Test?branchName=master
   :target: https://dev.azure.com/pavlingp/openTSNE/_build/latest?definitionId=1&branchName=master
.. |ReadTheDocs Badge| image:: https://readthedocs.org/projects/opentsne/badge/?version=latest
   :target: https://opentsne.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status
.. |License Badge| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
   :target: https://opensource.org/licenses/BSD-3-Clause