Skip to main content

A Python interface to Maximum Variance Unfolding

Project description

mvulib

Description

Maximum Variance Unfolding (MVU) dimensionality reduction algorithm implemented in MATLAB with use of SeDuMi (Self Dual Minimization) package for solving semidefinite programming.

Installation and Requirements

MATLAB Runtime 24.1 installation is required. It can be downloaded from the following address: MATLAB Runtime 24.1. Runtime must be added to the PATH upon installation. Supported Python versions are >=3.9, <=3.11. Installation of numpy, scipy and scikit-learn is required.

Usage

Package includes Mvu Python class that serves as an interface to MATLAB implementation. Upon installation the Mvu class is instantiated and operated in a way similar to that of other sklearn dimensionality reduction classes. For example:

from mvulib.mvu import Mvu
from sklearn.datasets import make_swiss_roll
X, t=make_swiss_roll(n_samples=1000, random_state=0)
mvu=Mvu(n_neighbors=6, angles=2) # angles=0 is much faster
Y=mvu.fit_transform(X, 2) # Two dimensional embedding.

References

Implementation is based on the following paper:

K.Q.Weinberger, L.K.Saul. "Unsupervised Learning of Image Manifolds by Semidefinite Programming".

Documentation

Documentation .ipynb notebooks can be obtained upon request. Contact e-mail address: stanicrikard7@gmail.com.

License

This project is licensed under the GNU General Public License v2.0 or later (GPL‑2.0‑or‑later).

The choice of this license is required because the project depends on SeDuMi, which is distributed under the GNU GPL. Any software that incorporates or links to SeDuMi must also be released under a GPL‑compatible license.

By using, modifying, or distributing this project, you agree to the terms of the GPL‑2.0‑or‑later.
A full copy of the license is provided in the LICENSE file included with this distribution.

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

mvulib-0.1.0.post1.tar.gz (476.8 kB view details)

Uploaded Source

Built Distribution

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

mvulib-0.1.0.post1-py3-none-any.whl (474.2 kB view details)

Uploaded Python 3

File details

Details for the file mvulib-0.1.0.post1.tar.gz.

File metadata

  • Download URL: mvulib-0.1.0.post1.tar.gz
  • Upload date:
  • Size: 476.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for mvulib-0.1.0.post1.tar.gz
Algorithm Hash digest
SHA256 b3bf08ace93df849478977f40c782554ebe36bfc1a5dcef71b5fdc33fe258c5c
MD5 962cc397f01e92d06b015492c8e11dbf
BLAKE2b-256 f7a7e1ec6c8c3320ffe92cd3d91128c157985cbf48947aa051ecc7c35a1e00f0

See more details on using hashes here.

File details

Details for the file mvulib-0.1.0.post1-py3-none-any.whl.

File metadata

  • Download URL: mvulib-0.1.0.post1-py3-none-any.whl
  • Upload date:
  • Size: 474.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for mvulib-0.1.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 d305b326b41ff179b39c6363cf373a2be69337f162e107ce75ecd000859c212d
MD5 a7217e58076cd725002aefefe086bdc5
BLAKE2b-256 4f5fc52cdda3c6c980b6be6793eb5cd93c2ff23a1cb5c6aa01f0c575fe765b18

See more details on using hashes here.

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