TopER: Topological Embeddings in Graph Representation Learning
This repository contains the implementation of TopER, a novel graph embedding method introduced in the paper titled "TopER: Topological Embeddings in Graph Representation Learning." Graph embeddings are crucial for graph representation learning, enabling the exploration of graphs using machine learning methods. However, existing deep learning techniques often rely on black-box, high-dimensional graph embeddings. There is a growing need for interpretable, low-dimensional embeddings to facilitate efficient data visualization for graph datasets, thus providing practical tools for effective dataset analysis.
Overview
TopER simplifies a fundamental concept of topological data analysis, specifically filtration, to compute the evolution rate of graph structures induced by a user-defined function on nodes or edges. This approach results in a low-dimensional, interpretable graph embedding that offers advantages in data visualization and graph classification tasks.
Repository Structure
- Datasets:
- Contains the benchmark datasets considered in the paper.
- functions_to_calculate_[a,b]:
- Contains the main algorithms to calculate vectors [a,b] for each graph in an entered benchmark dataset.
- Main.py:
- Python script to calculate the vectors X and Y for each filtration function and save them in .csv files.
- features_main.py:
- Python script to calculate [a,b] vectors and save them in a .csv file using the .csv files calculated previously.
- classification_codes:
- Contains codes for performing graph classification using the final .csv file generated by
features_main.py.
- Contains codes for performing graph classification using the final .csv file generated by
Abstract of the Paper
Graph embeddings play a pivotal role in graph representation learning, allowing machine learning methods to explore and understand graph data. In our paper, "TopER: Topological Embeddings in Graph Representation Learning," we introduce TopER as a novel graph embedding method. TopER leverages the concept of filtration from topological data analysis to compute the evolution rate of graph structures induced by user-defined functions on nodes or edges.
Our experiments demonstrate that TopER outperforms or matches the performance of state-of-the-art deep learning models in graph classification tasks. Additionally, we provide theoretical stability guarantees for TopER. Notably, with just two parameters, TopER serves as a low-dimensional topological graph embedding, providing one of the first effective methods for visualizing graph datasets.
Usage
- Clone the repository:
git clone https://github.com/your_username/TopER.git cd TopER
Metadata
Release files for toper 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toper-1.0.3.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toper-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.3 kB
Release files / toper-1.0.3.tar.gz
| Download URL | toper-1.0.3.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0eb3304d19ecfdbb12cdbf050a4036cdb2812c2d4e5a4e70535425b696466000
|
|
BLAKE2b-256 checksum How to use checksums |
e06651402b6aef091c2a6a3be37eb72ea79a164dbec29f611e90ab39185179d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.2
|
Release files / toper-1.0.3-py3-none-any.whl
| Download URL | toper-1.0.3-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3881cf0eb4e990e528b84fd838193ee921f330bde55d84398924cbc8d78e70ff
|
|
BLAKE2b-256 checksum How to use checksums |
a6cebb0400f2b5dc17c74a3fb4ba61985f2333d59d42e46bfcdc458681603f29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.2
|