Skip to content

Ebanflo42/TL-Isomap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TL-Isomap

A Python library implementing the Topological Landmark-Isomap algorithm presented in

Yan, Lin & Yaodong Zhao, Paul Rosen, Carlos Scheidegger & Bei Wang. (2018). Homology-Preserving Dimensionality Reduction via Manifold Landmarking and Tearing.

Getting Started

Clone this repo and move the base director wherever you wish. This library is not yet installable via pip or conda so you must import it like so:

import sys

sys.path.append('/path/to/TL-Isomap/src')

import tl_isomap

Example

$ cd TL-Isomap
$ python
>>> import sys
>>> sys.path.append('src')
>>> import numpy as np
>>> import clustering as cl
>>> import filter_functions as ff
>>> import tl_isomap as tli
>>> data = np.load('test_data/spirals.npy')
>>> my_tli = tli.TLIsomap(data, ff.eccentricity_p(data, 2.0), cl.DBSCAN, num_bins = 10, dbscan_eps = 0.5, num_neighbors = 4, isomap_eps = 0.1)
>>> my_tli.run_mapper()
>>> my_tli.graph.edges
 . . .
>>> embedding = my_tli.embed_k_dims(2) #an expensive computation
>>> embedding
 . . .

Further Information

The library offers the use of DBSCAN or SLC for clustering; different parameters must be passed to the constructor of the TLIsomap object depending on which clustering algorithm is to be used.

About

Topological dimensionality reduction in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages