Skip to main content

Untangle UMAP with filters.

Project description

PyPI version Tests Repository DOI

Lensed UMAP

Lensed UMAP provides three methods that apply lens-functions to a UMAP model. Lens functions can be used to untangle embeddings along a particular dimension. This dimension may be part of the data, or come from another information source. Using lens functions, analysts can update their UMAP models to the questions they are investigating, effectively viewing their data from different perspectives.

How to use Lensed UMAP

The lensed UMAP package provides functions that operate on (fitted) UMAP objects.

import numpy as np
import pandas as pd
from umap import UMAP
import lensed_umap as lu
import matplotlib.pyplot as plt

# Load data and extract lens
df = pd.read_csv("./data/five_circles.csv", header=0)
lens = np.log(df.hue)

# Compute initial UMAP model
projector = UMAP(
    repulsion_strength=0.1,  # To avoid tears in projection that
    negative_sample_rate=2,  # are not in the modelled graph!
).fit(df[["x", "y"]])

# Draw intial model
x, y = lu.extract_embedding(projector)
plt.scatter(x, y, 2, lens, cmap="viridis")
plt.axis("off")
plt.show()

Initial UMAP model

# Apply a global lens
lensed = lu.apply_lens(projector, lens, resolution=6)
x, y = lu.extract_embedding(lensed)
plt.scatter(x, y, 2, lens, cmap="viridis")
plt.axis("off")
plt.show()

Lensed model

Example Notebooks

A notebook demonstrating how the package works is available at How lensed UMAP Works. The other notebooks demonstrate lenses on several data sets and contain the analyses presented in our paper. The datasets we used as input and the data generated by our notebooks are stored using git lfs, which turns the files in this repository into versioned links to the actual data files. Their documentation explains how to retrieve the actual data files.

Installing

lensed_umap is available on PyPI:

pip install lensed_umap

Citing

A scientific paper describing our work is available on Arxiv:

@misc{bot2024lens,
  title={Lens functions for exploring UMAP Projections with Domain Knowledge}, 
  author={Daniel M. Bot and Jan Aerts},
  year={2024},
  eprint={2405.09204},
  archivePrefix={arXiv},
  primaryClass={cs.LG}
}

Licensing

The lensed UMAP package has a 3-Clause BSD license.

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

lensed_umap-0.1.3.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lensed_umap-0.1.3-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file lensed_umap-0.1.3.tar.gz.

File metadata

  • Download URL: lensed_umap-0.1.3.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for lensed_umap-0.1.3.tar.gz
Algorithm Hash digest
SHA256 30225c271b1fc8341b499f7fdc9d6e526e7638bbc85ab074a9fe9f01ea67d2ad
MD5 101a2bd9edbb5e753f4888dcb9530f07
BLAKE2b-256 ca5d38dfdd60e37f0656b7efdc9e7adc8b10fca4252bb44eb66e46570574dff9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensed_umap-0.1.3.tar.gz:

Publisher: Publish.yml on vda-lab/lensed_umap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lensed_umap-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: lensed_umap-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for lensed_umap-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ea87b19c359bc0b786627e94fe2c8fc13a528852112960d9f5e6d4050012c79b
MD5 8a0fbe60ca99f8392dc83b339e7e4962
BLAKE2b-256 abf62fa493cf05e0ecad981e50bb0812b7926420b226506e48e1e0cd68f080e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensed_umap-0.1.3-py3-none-any.whl:

Publisher: Publish.yml on vda-lab/lensed_umap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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