Skip to main content

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

Project description

DOI Documentation Status Downloads Build Status

ivis

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

Installation

Ivis runs on top of TensorFlow, and needs it to be installed to run.

To install the latest ivis release from PyPi running on the CPU TensorFlow package, run:

pip install ivis[cpu]

If you have CUDA installed and want ivis to use the tensorflow-gpu package, instead run pip install ivis[gpu].

Alternatively, you can install the development version 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

Upgrading

Ivis Python package is updated frequently! To upgrade, run:

pip install ivis --upgrade

Features

  • 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. Additionally, both categorical and continuous features are handled well, 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.

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)

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.

Source Distribution

ivis-1.7.1.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

ivis-1.7.1-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file ivis-1.7.1.tar.gz.

File metadata

  • Download URL: ivis-1.7.1.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.5

File hashes

Hashes for ivis-1.7.1.tar.gz
Algorithm Hash digest
SHA256 5b2217ae2e5ebe27a08b423f6ffda4889c5f8533c4e19ec097ca0bac2d718edb
MD5 f7baa1b3ec901f9f9cff6e75bd34605a
BLAKE2b-256 bc6f3edc079f057c9c3ade87131df47c3f27901f128e7709e97c2706826e0735

See more details on using hashes here.

File details

Details for the file ivis-1.7.1-py3-none-any.whl.

File metadata

  • Download URL: ivis-1.7.1-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.5

File hashes

Hashes for ivis-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ce8c2e781ddbb7affde119eff08ad7a409b70fe7f8c9c4adf36191fe820e339
MD5 0f7cde5dd6e1ad3c4e8a0a988ff96fe6
BLAKE2b-256 04065c69cf80d7dcaab87527b8a60bce6e8d33f3a1cbce44d1f3e0569bcc23df

See more details on using hashes here.

Supported by

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