Skip to content

rouven-spiess/CS330_Transfer_and_Meta-Learning_in_GNN

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS330 Transfer and Meta-Learning in Graph Neural Networks: A Recommender System Approach

Table of contents

General info

Code for our CS 330 Deep Multi-Task and Meta Learning Final Project: Transfer and Meta-Learning in Graph Neural Networks: A Recommender System Approach

Code is divided into two main folders:

  • Transfer_Learning_and_Joint-Loss contains the code implementation of a GCN rating-prediction model, and scripts used for fine-tuning and joint-loss training experimentation
  • Meta-Learning contains the code base for the MAML and Meta-Graph implementations, the base VGAE link prediction model, and data-processing code

Technologies

Transfer_Learning_and_Joint-Loss

  • python -version 3.8.16
  • pytorch -version 1.13.0+cu166
  • torch_geometric -version 2.2.0
  • sklearn.model_selection

Meta-Learning

  • pytorch
  • torch_geometric.nn
  • torch_scatter
  • sentence_transformers
  • sklearn.metrics
  • utils.utils

Screenshots

Results

Transfer_Learning_and_Joint-Loss

Meta-Learning

The goal of this project was to explore the effectiveness of several approaches in utilizing restaurant-user patterns of other geographical locations to create a better recommender model with less data. In both the transfer learning and meta-learning approaches we experimented with, we found that these approaches were able to perform noticeably better than the baseline models that do not utilize data from other geographical locations. Given this, it seems the approaches we have tried are effective in creating higher-performing city-specific restaurant recommendation models by utilizing data from other cities.

Status

Project is: finished

Report

CS330 Fall 2022 Paper link

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 56.3%
  • Python 43.7%