Skip to content

Flexible, extensible and fully scikit-compatible Mapper/TDA algorithm implementation

License

Notifications You must be signed in to change notification settings

pablodecm/cartographer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Travis Coveralls Landscape Gitter

What is cartographer?

Cartographer is a Python library which implements the Mapper algorithm [1] for data visualization and exploration. The design goal of this particular implementation is to be flexible, extendible and fully scikit-learn compatible.

Features

  • The Mapper class can use any filter function, space cover and clustering method, all of them being scikit-learn API estimators.
  • Built-in but customizable d3js graph visualizations to be used interactively from Jupyter Notebook.
  • Reasonably efficient implementation, in the process of being parallelized and to use sparse data structructures when possible.

Installation

The Mapper algorithm of the library only requires a modern version of scikit-learn (and its dependencies numpy and scipy). Nevertheless, to run the examples, also a Jupyter Notebook installation with a Python Kernel and the seaborn visualization library are required. Both Python 2 and Python 3 are supported and tested for the time being, while the suggestion is using the later.

Documentation

The documentation of this software library, together with more information the Mapper algorithm and some examples of its use can be found at http://pablodecm.com/cartographer.

References

[1]Singh, Gurjeet, Facundo Mémoli, and Gunnar E. Carlsson. "Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition." SPBG. 2007. doi:10.2312/SPBG/SPBG07/091-100

About

Flexible, extensible and fully scikit-compatible Mapper/TDA algorithm implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published