Inverse Projections
A Python package implementing inverse projection techniques for dimensionality reduction. Map points from low-dimensional visualizations back to high-dimensional space.
Features
- Neural Network Inverse (NNinv): Deep learning approach using PyTorch
- Inverse LAMP (ILAMP): Local Affine Multidimensional Projection inverse mapping
- RBF Inverse: Radial Basis Function interpolation
- Multilateration: Geometric triangulation-based approach
- Gradient Maps: Quality assessment for inverse projections
Installation
pip install inverse-projections
Quick Start
from inverse_projections import NNinv, ILAMP, RBFinv
import numpy as np
from sklearn.manifold import TSNE
# Your high-dimensional data
X = np.random.rand(1000, 50)
# Create 2D projection
X2d = TSNE().fit_transform(X)
# Train inverse projection
nninv = NNinv()
nninv.fit(X2d, X)
# Map new 2D points back to high-dimensional space
new_2d_points = np.random.rand(10, 2)
reconstructed = nninv.transform(new_2d_points)
Examples
See the examples/ directory for detailed demonstrations:
demo.ipynb: MNIST dataset comparisondemo_gradient_map.ipynb: Quality assessment with gradient maps
Methods
All methods follow sklearn-compatible API with fit(), transform(), and inverse_transform() methods.
Reference
Based on the following research papers:
-
iLAMP: dos Santos Amorim, E. P., Brazil, E. V., Daniels, J., Joia, P., Nonato, L. G., & Sousa, M. C. (2012). iLAMP: Exploring high-dimensional spacing through backward multidimensional projection. Proc. IEEE VAST. https://doi.org/10.1109/VAST.2012.6400489
-
RBFinv: Amorim, E., Vital Brazil, E., Mena-Chalco, J., Velho, L., Nonato, L. G., Samavati, F., & Costa Sousa, M. (2015). Facing the high-dimensions: Inverse projection with radial basis functions. Computers & Graphics. https://doi.org/10.1016/j.cag.2015.02.009
-
NNinv: Espadoto, M., Rodrigues, F. C. M., Hirata, N. S. T., & Hirata Jr, R. (2019). Deep Learning Inverse Multidimensional Projections. Proc. EuroVA. https://doi.org/10.2312/eurova.20191118
-
NNinv: Espadoto, M., Appleby, G., Suh, A., Cashman, D., Li, M., Scheidegger, C. E., Anderson, E. W., Chang, R., & Telea, A. C. (2021). UnProjection: Leveraging Inverse-Projections for Visual Analytics of High-Dimensional Data. IEEE TVCG. https://doi.org/10.1109/TVCG.2021.3125576
-
MDSinv: Blumberg, D., Wang, Y., Telea, A., Keim, D. A., & Dennig, F. L. (2024). Inverting Multidimensional Scaling Projections Using Data Point Multilateration. Proceed EuroVA
License
MIT License
Metadata
Release files for inverse-projections 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inverse_projections-0.1.3.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inverse_projections-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.6 kB
Release files / inverse_projections-0.1.3.tar.gz
| Download URL | inverse_projections-0.1.3.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9054460857e671dc7349b3f1102e104ff211eaa2ac55fd3ca93ee8064588d5b0
|
|
BLAKE2b-256 checksum How to use checksums |
677368e87814b5760626e31afb3af5440162d2e0476d1cf02259f879da9fd0f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / inverse_projections-0.1.3-py3-none-any.whl
| Download URL | inverse_projections-0.1.3-py3-none-any.whl |
|---|---|
| Size | 12.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
32b406eb362c54594f42c4b8951d3cb8e96e0d78acc9867930ddc59b558f5ddb
|
|
BLAKE2b-256 checksum How to use checksums |
5b2c3bfbb34a225b5df475f87ba03faf5742f856bc21c01d1914cfc22e2fef71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|