Dimensionality reduction in very large datasets using Siamese Networks
Implementation of the ivis algorithm as described in the paper Structure-preserving visualisation of high dimensional single-cell datasets. Ivis is designed to reduce dimensionality of very large datasets using a siamese neural network trained on triplets. Both unsupervised and supervised modes are supported.
Ivis runs on top of TensorFlow. To install the latest ivis release from PyPi running on the CPU TensorFlow package, run:
# TensorFlow 2 packages require a pip version >19.0. pip install --upgrade pip
pip install ivis[cpu]
If you have CUDA installed and want ivis to use the tensorflow-gpu package, run
pip install ivis[gpu]
Development version can be installed directly from from github:
git clone https://github.com/beringresearch/ivis cd ivis pip install -e '.[cpu]'
The following optional dependencies are needed if using the visualization callbacks while training the Ivis model: - matplotlib - seaborn
Ivis Python package is updated frequently! To upgrade, run:
pip install ivis --upgrade
transformmethod, making it easy to incorporate ivis into standard sklearn Pipelines.
And many more! See ivis readme for latest additions and examples.
from ivis import Ivis from sklearn.preprocessing import MinMaxScaler from sklearn import datasets
iris = datasets.load_iris() X = iris.data X_scaled = MinMaxScaler().fit_transform(X)
model = Ivis(embedding_dims=2, k=15)
embeddings = model.fit_transform(X_scaled)
Copyright 2021 Bering Limited