Generalizable and Efficient Approximate Spectral Embeddings
Project description
GrEASE
This is the official PyTorch implementation of GrEASE from the paper "Generalizable Spectral Embedding with Applications to UMAP.
One of many applications of ScaSE is UMAP initialization, as shown in the following figure:
Initializing UMAP with ScaSE results in a similar embedding to the one obtained by UMAP itself (initialized with Spectral Embedding), but with a much faster runtime for a large number of samples.
Installation
To install the package, simply use the following command:
pip install grease
Usage
The basic functionality is quite intuitive and easy to use, e.g.,
from grease import GrEASE
grease = GrEASE(n_components=10) # n_components is the number of dimensions in the low-dimensional representation
grease.fit(X) # X is the dataset and it should be a torch.Tensor
X_reduced = grease.transfrom(X) # Get the low-dimensional representation of the dataset
Y_reduced = grease.transform(Y) # Get the low-dimensional representation of a test dataset
You can read the code docs for more information and functionalities.
Out of many applications, ScaSE can be used for UMAP initialization, Fiedler vector and value approximation, and Diffusion Maps approximation. The following is examples of how to use ScaSE for each of these applications:
UMAP initialization
from scase import ScaSE
from umap import UMAP
scase = ScaSE(n_components=2)
se = scase.fit_transform(X)
umap = UMAP(n_components=2, init=se)
X_reduced = umap.fit_transform(X)
Fiedler vector and value approximation
from scase import ScaSE
scase = ScaSE(n_components=1)
fiedlerVector = scase.fit_transform(X)
fiedlerValue = scase..get_eigenvalues()
Diffusion Maps approximation
from scase import ScaSE
scase = ScaSE(n_components=10)
diffusionMaps = scase.fit_transform(X, t=5) # t is the diffusion time
Running examples
In order to run the model on the moon dataset, you can either run the file, or using the command-line command:
python -m examples.reduce_moon
This will run the model on the moon dataset and plot the results.
The same can be done for the circles dataset:
python -m examples.reduce_circles
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
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 grease_embeddings-0.1.1.tar.gz.
File metadata
- Download URL: grease_embeddings-0.1.1.tar.gz
- Upload date:
- Size: 27.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a12f64a442ecc88770b523ce1643cc89bf3584a3ad27068c34030c3214090169
|
|
| MD5 |
32ccebf8b045e633694f477047569fda
|
|
| BLAKE2b-256 |
3e547045a34d92fdd6edad5e1fa617f148bce00afeb97a15e9eb1f80e8a436f2
|
File details
Details for the file grease_embeddings-0.1.1-py3-none-any.whl.
File metadata
- Download URL: grease_embeddings-0.1.1-py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd1d6a6b9e96101b2ae8e17b24e729af56e4ad2e68a406c0a2a764907fbdd111
|
|
| MD5 |
4c10f55f10a30d2e7fe90eb57df10066
|
|
| BLAKE2b-256 |
9f9c433f619fc4fe2e83ebf176a748ea42c2e8ae5f287f6a962c5e643f63af3f
|