COMP4740_FinalProject
Members are George Kaceli and Noah Adams
In this project we will be exploring using graphs from item recommendation with an application to movie recommendation using the MovieLens100K dataset, we will utilise Graph Neural Networks, such as Graph Convolution Networks GCNs, Graph sample and aggregate GraphSAGE, and Graph Attention Networks GATs
models/: Contains definitions for various graph-based neural network models.datasets/: utilities for managing and preprocessing the dataset used in the models.visualization/: Tools for visualizing data insights and model performance.metrics/: Utilities for calculating and logging performance metrics like precision, recall, and RMSE.
convert.py: Converts data into the required format for model processing.data.py: Manages data loading and preprocessing workflows.gat_train_test.py: Implements the training and testing phases for the Graph Attention Network model.gcn_train_test.py: Manages the training and testing processes for the Graph Convolutional Network.graph.py: Provides functionalities for graph data manipulation and visualization.log_to_csv.py: Utility to log various performance metrics to a CSV file.SAGE_train_test.py: Script for training and testing the GraphSAGE model.
To get started with this project, follow these steps to set up your environment:
for Linux or macOS:
python3 -m venv venv
source venv/bin/activate
for Windows:
python -m venv venv
venv\Scripts\activate
bash
git clone <repository-url>
cd <repository-directory>
pip install -r requirements.txt
python gcn_train_test.py
python gat_train_test.py
python SAGE_train_test.py
0. Abstract
I. Introduction
II. Literature Review
a. Graph Convolution Networks
b. Graph SAGE
c. Graph Attention Networks
III. Methodology
a. Data Preprocessing
b. Graph Recommender Systems
c. GCN Implementation
d. Graph Sage Implementation
e. GAT Implementation
IV. Results
V. Discussion
VI. Conclusion
VII. References
VIII. Appendix
IX. Group Member Participation
Group Members. George Kaceli and Noah Adams