Following the tradition of providing an enchiridion to master unknown subjects, this repository contains an introduction into the dark art, viz. topological data analysis.
Here are the slides that were shown on the Basel Postdoc Retreat 2018.
To reproduce the results, please use the script svm.py
. This requires
a working installation of numpy
and scikit-learn
. To run the script
for a given data set (see the Data
folder for selected data sets
that are shipped with this repository), please run the following:
$ ./Scripts/svm.py /Results/MUTAG
This should result in the following output:
INFO:root:Processing Results/MUTAG...
INFO:root:Setting parameters for data set MUTAG to {'C': 1000.0}
---
MUTAG
---
Accuracy : 0.95
Classification report:
precision recall f1-score support
0 0.86 1.00 0.92 6
1 1.00 0.92 0.96 13
avg / total 0.95 0.95 0.95 19
The script can also run the analysis for multiple directories.
There are several repositories available for topological data analysis:
- Aleph, which is maintained by the author of this repository and members of the Borgwardt Lab. It is also used to obtain the kernel matrices that are stored in this repository.
- Dionysus 2, developed by Dmitriy Morozov.
- Ripsers, a lean C++ implementation of the Vietoris–Rips complex construction by Ulrich Bauer.
- The topology toolkit (TTK), which is developed by, among others, Julien Tierny.
For graph kernels, a general class of methods for analysing graphs
with various properties, I recommend the graphkernels
package,
which offers high-quality and thoroughly-tested implementations of
numerous graph kernels. The package has bindings for C
, Python
, and
R
. For more information, please read the
accompanying
paper.
No manifolds were harmed in the creation of this repository.