You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GNN Model with 93% Accuracy for Facebook Page-Page Network Node Classification with TSNE Visualization
This project introduces a multi-layer graph neural network (GNN) for semi-supervised, multi-class node classification on the Facebook Large Page-Page Network dataset, achieving 93.14% accuracy. The network classifies nodes (representing Facebook pages) into four categories: Politicians, Government Organizations, Television Shows, and Companies.
Key features of PR:
Modules:
dataset.py: Loads and preprocesses data.
main.py: CLI for training and inference.
modules.py: Defines GNN architecture.
train.py: Manages training, validation, and metric logging.
predict.py: Runs model inference and visualizations.
Execution:
Supports training (--train--save--load), inference (--inference <index>), and visualization (--display) through CLI.
GNN Architecture:
Uses multilayer perceptrons (MLPs) and sparse layers, transforming node features into learned embeddings for classification.
Incorporates ReLU activation and log softmax for output.
Training:
Learning Rate: 1e-4
Epochs: 100
Optimizer: Adam
Loss: Cross-Entropy
Results:
Achieves 93.14% accuracy; training and validation metrics show potential overfitting.
TSNE visualizations show clearer clustering post-training, indicating successful categorization.
This is an initial inspection, no action is required at this point
GNN FB Page-Page Network dataset ---- Normal Difficulty
Category
Marks
Comments
Algorithm solves the problem
5
4.5
Some overfitting seen. No early stop
Implementation functions as intended
3
3
2 layer GCN, torch_geometric/GCNConv
Good design
1
1
Modular, Reusable
Commenting
1
1
Meaningful docstrings and comments
Algorithm above Normal Difficulty
5
5
Algorithm is Hard difficulty
5
0
Normal Difficulty
Section IV : Max mark 15 from 20
14.5
TSNE / UMAP:
Good, though would have expected to see a bit more separation at the reported accuracy.
Discussion: Good, with a bit more depth useful.
Suggestions:
Redundant code in repo - SparseLayer. Is this needed?
Also doc mentions the use of the sparse layer, though the implemented model does not use this layer.
Code can have some early stop, ex: train loop should save best model by keeping track of current best accuracy.
Could add a hyper parameter search or discuss how the values were obtained.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GNN Model with 93% Accuracy for Facebook Page-Page Network Node Classification with TSNE Visualization
This project introduces a multi-layer graph neural network (GNN) for semi-supervised, multi-class node classification on the Facebook Large Page-Page Network dataset, achieving 93.14% accuracy. The network classifies nodes (representing Facebook pages) into four categories: Politicians, Government Organizations, Television Shows, and Companies.
Key features of PR:
Modules:
dataset.py: Loads and preprocesses data.main.py: CLI for training and inference.modules.py: Defines GNN architecture.train.py: Manages training, validation, and metric logging.predict.py: Runs model inference and visualizations.Execution:
Supports training (
--train--save--load), inference (--inference <index>), and visualization (--display) through CLI.GNN Architecture:
Training:
Results:
Achieves 93.14% accuracy; training and validation metrics show potential overfitting.
TSNE visualizations show clearer clustering post-training, indicating successful categorization.