Metadata-Version: 2.4
Name: toper
Version: 1.0.3
Summary: A Python package for graph processing and feature extraction
Author-email: Astrit Tola <astrittola@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/AstritTola/TopER
Project-URL: Repository, https://github.com/AstritTola/TopER
Project-URL: Documentation, https://github.com/AstritTola/TopER#readme
Keywords: graph,feature-extraction,network-analysis,TopER,GraphRepresentationLearning
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.21
Requires-Dist: pandas>=1.3
Requires-Dist: networkx>=3.0
Requires-Dist: joblib>=1.2
Requires-Dist: GraphRicciCurvature>=0.5
Dynamic: license-file

# 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`.

## 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
1. Clone the repository:
   ```bash
   git clone https://github.com/your_username/TopER.git
   cd TopER



