Esme is a python library that is used for topological data analysis of Graphs. It combines existing machine learning libraries and libraries for persistence computation. Esme is used for systematically evaluating persistence diagram as features for graph classification.
- Make sure the following libraries are installed: networkx, sklearn, dionysus, and sklearn_tda
- Set python and pip directory correctly in the build.sh, and run build.sh.
-
Support common filtration on vertices such as degree, ricci curvature, closeness centrality and also filtration functions on edges such as jaccard similarity, edge probability for commonly used graph classification dataset.
-
Support sub/superlevel filtration and 0/1/extended-homology
-
Support computing persistence diagram and various kernels in parallel
-
Various ways of featurization of computed persistence diagram, such as Persistence Landscape, Sliced Wasserstein kernel, Persistence Scale Space kernel, Persistence Weighted Gaussian Kernel etc.
-
Systematic evaluation using sacred. Sacred is a tool to help you configure, organize, log and reproduce experiments developed at IDSIA. This is not mandatory but highly recommended if you want to evaluate different filtration functions and kernel methods for persistence diagram.
See Esme/examples. More examples will be added soon.
If you have any questions, feel free to contact me via cai.507@osu.edu or submit an issue on github.
The name of Esme comes from a short story by J. D. Salinger. It recounts a sergeant's meeting with a young girl before being sent into combat in World War II.