ZADU
A-to-Z Python library for evalUating Dimensionality reduction
ZADU evaluates how faithfully a dimensionality-reduction projection preserves its original data. It provides 22 local, cluster-level, global, and gap-based distortion measures through one consistent Python interface, with exact shared execution, bounded-memory strategies, repeated-projection evaluation, and optional MLX and PyTorch backends.
Documentation · Measure reference · Performance report · ZADU paper
Installation
python -m pip install zadu
Visualization is optional:
python -m pip install "zadu[vis]"
See the installation guide for optional MLX and PyTorch backends.
Quick start
import numpy as np
from zadu import ZADU
rng = np.random.default_rng(0)
original = rng.normal(size=(200, 16))
projection = original[:, :2] + 0.05 * rng.normal(size=(200, 2))
specs = [
{"id": "tnc", "params": {"k": 20}},
{"id": "mrre", "params": {"k": 20}},
]
scores = ZADU(specs, original).measure(projection)
print(scores)
ZADU's execution DAG shares compatible exact distances, neighbors, ranks,
densities, and pair reductions across measures. Scientific scores remain
separate from backend, timing, and memory diagnostics in last_run_info.
Read the quickstart, choose measures, or browse the complete measure reference.
Contributing
To propose a distortion measure, provide its name, paper, and an optional reference implementation through the metric proposal form. You do not need to learn ZADU's internals or prepare repository files. See CONTRIBUTING.md for development and correctness requirements.
Citation
@INPROCEEDINGS{jeon23vis,
author={Jeon, Hyeon and Cho, Aeri and Jang, Jinhwa and Lee, Soohyun and Hyun, Jake and Ko, Hyung-Kwon and Jo, Jaemin and Seo, Jinwook},
booktitle={2023 IEEE Visualization and Visual Analytics (VIS)},
title={ZADU: A Python Library for Evaluating the Reliability of Dimensionality Reduction Embeddings},
year={2023},
pages={196--200},
doi={10.1109/VIS54172.2023.00048}
}
Each metric's original literature and later additions are credited in the measure reference.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zadu-0.5.3.tar.gz.
File metadata
- Download URL: zadu-0.5.3.tar.gz
- Upload date:
- Size: 106.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ad6418269880e31f4ee0a542a0c2f927541e2bf58ba8ee411d16b2a13236ec0
|
|
| MD5 |
088e971ba86ad8289251644c88874cfd
|
|
| BLAKE2b-256 |
3f5e9c83936eca746a1ed9b792bc75163f716309921f3dc16de10e3131bd465f
|
Provenance
The following attestation bundles were made for zadu-0.5.3.tar.gz:
Publisher:
publish-pypi.yml on hj-n/zadu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zadu-0.5.3.tar.gz -
Subject digest:
7ad6418269880e31f4ee0a542a0c2f927541e2bf58ba8ee411d16b2a13236ec0 - Sigstore transparency entry: 2570635120
- Sigstore integration time:
-
Permalink:
hj-n/zadu@fe658762168ed45ce4c2ec05e2f0d43f17ed9a81 -
Branch / Tag:
refs/tags/v0.5.3 - Owner: https://github.com/hj-n
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@fe658762168ed45ce4c2ec05e2f0d43f17ed9a81 -
Trigger Event:
push
-
Statement type:
File details
Details for the file zadu-0.5.3-py3-none-any.whl.
File metadata
- Download URL: zadu-0.5.3-py3-none-any.whl
- Upload date:
- Size: 109.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05d7f022d29f8210ccf210be740711bee68842ffa78985f2c4abd555d3c46243
|
|
| MD5 |
859fe4e2be4205f0cf424db9cb6c5910
|
|
| BLAKE2b-256 |
2ca7aa22c9aa34c1906abddfb89cd2e1261fa9018f510fa9ed65d8f8924e8258
|
Provenance
The following attestation bundles were made for zadu-0.5.3-py3-none-any.whl:
Publisher:
publish-pypi.yml on hj-n/zadu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zadu-0.5.3-py3-none-any.whl -
Subject digest:
05d7f022d29f8210ccf210be740711bee68842ffa78985f2c4abd555d3c46243 - Sigstore transparency entry: 2570635143
- Sigstore integration time:
-
Permalink:
hj-n/zadu@fe658762168ed45ce4c2ec05e2f0d43f17ed9a81 -
Branch / Tag:
refs/tags/v0.5.3 - Owner: https://github.com/hj-n
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@fe658762168ed45ce4c2ec05e2f0d43f17ed9a81 -
Trigger Event:
push
-
Statement type: