Implementation of the paper SNEkhorn: Dimension Reduction with Symmetric Entropic Affinities (NeurIPS 2023). SNEkhorn is a dimension reduction method based on optimal transport and symmetric entropic affinities.
Feel free to ask if any question.
To intall the toobox run the following code in a shell:
pip install -e .
The main class can be imported as
from snekhorn import SNEkhorn
If you use this toolbox in your research and find it useful, please cite SNEkhorn using the following bibtex reference:
@inproceedings{snekhorn2023,
title={{SNE}khorn: Dimension Reduction with Symmetric Entropic Affinities},
author={Van Assel, Hugues and Vayer, Titouan and Flamary, R{\'e}mi and Courty, Nicolas},
booktitle={Thirty-seventh Conference on Neural Information Processing Systems (NeurIPS)},
year={2023},
url={https://openreview.net/forum?id=y9U0IJ2uFr}
}
-
Some simple demos are presented in the demo folder:
- example_affinities.py: illustrates the toolbox for calculating the symmetric entropic affinities.
- example_simple_snekhorn.py: simple example that uses SNEkhorn.
- example_coil.py: comparison of tSNE/tSNEkhorn on COIL dataset.
- example_fig5_paper.py: replicate the Figure 5 of the paper.
-
You can compare the performances of SNEkhorn on SNAREseq/COIL data by running the files in the expes folder.
- Pytorch
- Matplotlib
- Pillow