Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Artificial neural network-driven visualization of high-dimensional data using triplets.

Project description

DOI Documentation Status Downloads Build Status


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 10M data points


Install the latest ivis release from PyPi:

pip install ivis

Alternatively, you can install the development version from github:

git clone
cd ivis
pip install -r requirements.txt --editable .

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


  • Scalable: ivis is fast and easily extends to millions of observations and thousands of features.
  • Versatile: numpy arrays, sparse matrices, and hdf5 files are supported out of the box, making it easy to apply ivis to heterogeneous problems including clustering and anomaly detection.
  • Accurate: ivis excels at preserving both local and global features of a dataset. Often, ivis performs better at preserving global structure of the data than t-SNE, making it easy to visualise and interpret high-dimensional datasets.
  • Generalisable: ivis supports addition of new data points to original embeddings via a transform method, 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 =
X_scaled = MinMaxScaler().fit_transform(X)

model = Ivis(embedding_dims=2, k=15)

embeddings = model.fit_transform(X_scaled)

Ivis Universe

Ivis can be used in a wide variety of real-world applications. The Ivis Universe consists of packages that extend the core Ivis functionality.

  • ivis-animate - visualise the Ivis learning process.
  • ivis-explain - explain which features contribute the most to ivis embeddings.

Copyright 2019 Bering Limited

Project details

Download files

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

Files for ivis, version 1.6.0
Filename, size File type Python version Upload date Hashes
Filename, size ivis-1.6.0-py3-none-any.whl (23.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size ivis-1.6.0.tar.gz (15.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page