Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fork123aniket/end-to-end-node-and-graph-classification-and-explanation-app
Streamlit App for Node and Graph Classification and Explainability
https://github.com/fork123aniket/end-to-end-node-and-graph-classification-and-explanation-app
cora dvc-for-data-science dvc-pipeline enzymes graph-classification graph-convolutional-networks graph-explain graph-neural-networks graph-representation-learning mlflow node-classificaiton optuna pytorch pytorch-geometric streamlit streamlit-cloud streamlit-sharing streamlit-webapp
Last synced: about 1 month ago
JSON representation
Streamlit App for Node and Graph Classification and Explainability
- Host: GitHub
- URL: https://github.com/fork123aniket/end-to-end-node-and-graph-classification-and-explanation-app
- Owner: fork123aniket
- License: mit
- Created: 2024-04-08T20:18:59.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-16T01:00:49.000Z (8 months ago)
- Last Synced: 2024-04-16T03:04:45.113Z (8 months ago)
- Topics: cora, dvc-for-data-science, dvc-pipeline, enzymes, graph-classification, graph-convolutional-networks, graph-explain, graph-neural-networks, graph-representation-learning, mlflow, node-classificaiton, optuna, pytorch, pytorch-geometric, streamlit, streamlit-cloud, streamlit-sharing, streamlit-webapp
- Language: HTML
- Homepage: https://graph-explanability.streamlit.app/
- Size: 3.23 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# :rocket: End-to-End Node and Graph Classification and Explanation App
[![Graph Explainability App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://graph-explanability.streamlit.app/)
This repo contains project code for the ***Graph Explainability*** system that when receives Node ID or Graph ID as user input:
- Classifies the ***node*** or ***graph***;
- Displays ***feature importances*** based on computed ***explained feature mask***;
- Shows ***Explanation Subgraph*** based on ***learned edge mask***;
- Visualizes the original ***node (and its neighborhood)*** and ***graph*** based on which operation does the user wanna perform.## Requirements
- `Python`
- `Streamlit` (for ***app building and deployment***)
- `DVC` (for ***data, model, and code version control***)
- `MLflow` (to keep track of all ***graph representation learning experiments*** performed)
- `Optuna` (to find ***optimal values for all hyperparameters*** in exponentially large search space)
- `PyTorch`
- `PyTorch Geometric`## Data
- `Node Classification`: [***Cora***](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.datasets.Planetoid.html#torch_geometric.datasets.Planetoid) dataset is used that contains a ***homogeneous graph*** comprising ***2708 nodes*** and ***1433 node_features*** along with ***7 class labels***.
- `Graph Classification`: [***ENZYMES***](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.datasets.TUDataset.html) dataset contains ***600 homogeneous graphs*** along with ***3 node_features*** and the task is to classify any of these graphs in ***6 different Enzymes***.## App Accessibility
To view and access the app, please click [***here***](https://graph-explanability.streamlit.app/) or type in the following web address to your browser:
[**https://graphexplanability.streamlit.app/**](https://graph-explanability.streamlit.app/)## App Usage
To learn more about how to use this ***Graph Neural Networks-powered deployed app***, please consider watching the following video:https://github.com/fork123aniket/End-to-End-Node-and-Graph-Classification-and-Explanation-App/assets/92912434/7cf86648-2a76-4a7d-af8b-ad27b997b386