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.
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
Node Classification
: Cora dataset is used that contains a homogeneous graph comprising 2708 nodes and 1433 node_features along with 7 class labels.Graph Classification
: ENZYMES dataset contains 600 homogeneous graphs along with 3 node_features and the task is to classify any of these graphs in 6 different Enzymes.
To view and access the app, please click here or type in the following web address to your browser: https://graphexplanability.streamlit.app/
To learn more about how to use this Graph Neural Networks-powered deployed app, please consider watching the following video: