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.
Installation
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
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
transformmethod, 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)
Copyright 2024 Bering Limited
Metadata
Release files for ivis 2.0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ivis-2.0.11.tar.gz | 32.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ivis-2.0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.9 kB
Release files / ivis-2.0.11.tar.gz
| Download URL | ivis-2.0.11.tar.gz |
|---|---|
| Size | 32.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
44642bd23e4a31ad14e8735d14d2ccdcc3123e060b1355b689c0f5d3ac8cc7e3
|
|
BLAKE2b-256 checksum How to use checksums |
08743f2c693155e7f9b8c702e1b2decc02d61924f20a374bcd54b44687d1299e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.11.6
|
Release files / ivis-2.0.11-py3-none-any.whl
| Download URL | ivis-2.0.11-py3-none-any.whl |
|---|---|
| Size | 35.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1bfe04b1ffdde2833d49441a1180295647cf982e4ffdca6bdb2e2b7928b6cd24
|
|
BLAKE2b-256 checksum How to use checksums |
4977689c86fc0c8821698477fbb06112bbc5a78b5e499b716bfba3ee8109b3b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.11.6
|