Skip to content

Repository for paper 'Topology-Preserving Dimensionality Reduction via Interleaving Optimization'

License

Notifications You must be signed in to change notification settings

CompTop/Interleaving-DR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interleaving Dimension Reduction

Repository for paper 'Topology-Preserving Dimensionality Reduction via Interleaving Optimization'. The images we used in paper are stored in folder images folder and codes in the ipynb folder.

Installation

In order to re-run the experiments we have in the ipynb folder, you will need several packages installed first.

BATS.py

bats is used for general persistent homology computation, including greedy subsampling and computation flags. To install it, see the installation page(we suggest install from source files).

torch_tda

torch_tda is used for optimzation on persistnet homology based on Pytorch, which supports auto differention. To install it, see the installation page(we suggest install from source files).

Data

The synthetic data sets we used in paper are all in ipynb notebooks. Real life data sets are from

  1. COIL-100: https://www.kaggle.com/jessicali9530/coil100/download
  2. Natural Image Patches: http://pirsquared.org/research/vhatdb/full/vanhateren_iml.zip

How to use

The main function for our dimension reduction method on a data set X with shape (n,p) is

P, opt_info = bottleneck_proj_pursuit(X)

. It will return us a projection P with shape (p,2) and a dictionary opt_info that stores optimzation information. You may also check a variety of parameters you can pass into the function in PH_projection_pursuit.py.

Next, in order to see the result in 2D plane, use

X_PH = X @ P.T
plt.scatter(X_PH[:, 0],X_PH[:,1])

About

Repository for paper 'Topology-Preserving Dimensionality Reduction via Interleaving Optimization'

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published