cartographer

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