Artificial neural network-driven visualization of high-dimensional data using triplets.
Project description
ivis
Implementation of the ivis algorithm as described in the paper Structure-preserving visualisation of high dimensional single-cell datasets.
This algorithm uses a siamese neural network trained on triplets to reduce the dimensionality of data to two dimensions for visualization. Each triplet is sampled from one of the k nearest neighbours as approximated by the Annoy library, with neighbouring points being pulled together and non-neighours being pushed away.
Installation
Install the latest ivis releast from PyPi:
pip install ivis
Alternatively, you can install the development version from github:
git clone https://github.com/beringresearch/ivis
cd ivis
pip install -r requirements.txt --editable .
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, 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 import datasets
iris = datasets.load_iris()
X = iris.data
model = Ivis(embedding_dims=2, k=15)
embeddings = model.fit_transform(X)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ivis-1.2.0.tar.gz
.
File metadata
- Download URL: ivis-1.2.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 945dbef5e1b6cc60edfa55a6470b0ddee36cb53e32ab3408da3da59acad68584 |
|
MD5 | 3bb27991143a694080e7cc01dc986326 |
|
BLAKE2b-256 | b3e0c4e9d6690101884b988865fd7f41cbb1a440b282a309ba086dd4e07ef7b0 |
File details
Details for the file ivis-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: ivis-1.2.0-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32466ce76f4cb71e4bdd30932fc34af902d3d4d9155992113c88c1ee8bb6f823 |
|
MD5 | 9de870133ffc9d90211104680116b6f1 |
|
BLAKE2b-256 | 61877a8ed65b6ddf379e6a3af0cf62b41501659ec5e85eae631f4fb4ac65a68c |