Skip to main content

Optimal transport-based tools for data integration.

Reason this release was yanked:

critical issue

Project description

Transmorph (anciently WOTi)

Warning This package will soon be released on PyPi. It is unstable right now due to structural changes needed to do so.

This python package aims to provide an easy interface for integrating datasets using optimal transport (OT)- and Gromov-Wasserstein (GW)-based methods. We plan to extend the package beyond data integration, with additional OT-related unsupervised and semi-supervised methods. Warning: This package is still in an early stage. Feel free to open an issue in case of unexpected behvior.

Installation

Install from source (latest version, may be unstable)

git clone https://github.com/Risitop/transmorph
pip install ./transmorph

Install from PyPi (stable version)

pip install transmorph

Examples

See three example notebooks in examples/ directory.

Usage

This package offers four main integration techniques, two based on OT and two based on GW. Both OT and GW comes in two variants, balanced (similar to SCOT) and unbalanced, using a quadratic program in order to estimate data points weights. These weights are chosen so that the weighted Gaussian mixture distribution is close to be uniform over the dataset.

Assuming two numpy arrays X and Y representing source and target datasets, WOTi can be used in the following way. First, create a Woti object. The scale parameter adjusts kernel bandwidth, and needs some tuning according to cloud sparsity.

import transmorph as tr

X, Y = ... # datasets, np.ndarray
t = tr.Transmorph(method='ot')

Then, simply apply the integration method to project X onto Y.

X_integrated = t.fit_transform(X, Y)

Reference

https://www.biorxiv.org/content/10.1101/2021.05.12.443561v1

Documentation

Work in progress.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

transmorph-0.0.3-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file transmorph-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: transmorph-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.9.5

File hashes

Hashes for transmorph-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a9c849bffacd19656d35367ca5d8b96e85630198d853bc938dcd3e88fd6df02a
MD5 086a096c347ee950ffa7794902c94fe2
BLAKE2b-256 bc88e8ad558f157386514c9ace67e8661d9d0ad1f32170a7291a0c680a3dad17

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