nakhunchumpolsathien / mg-gat

Multi-Graph Graph Attention Network (MG-GAT) from "Y. Leng, R. Ruiz, X. Dong, and A. Pentland, Interpretable Recommender System With Heterogeneous Information: A Geometric Deep Learning Perspective"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multi-Graph Graph Attention Network (MG-GAT)

This repository holds the Tensorflow based implementation of Multi-Graph Graph Attention Network (MG-GAT) proposed in the Interpretable Recommender System With Heterogeneous Information: A Geometric Deep Learning Perspective.

Getting started

We recommend using a conda virtual environment:

conda create -n mggat_env python=3.7
conda activate mggat_env

Install TensorFlow (your installation may vary):

conda install tensorflow-gpu==2.4.1

Pip install packages:

pip install ray==0.8.7 ray[tune] hyperopt pandas scikit-learn

To train our model on the MovieLens100K dataset, run:

python models.py

Check models.py to change arguments for model, dataset, etc.

Code

A. datasets.py - Preprocessing for each dataset.

B. layers.py - Definitions of neural network classes, including GAT and GCN.

C. metrics.py - Definitions of metrics used to evaluate recommender systems.

D. models.py - Definitions of recommender systems and code to tune/test them. We include our model as well as some of the benchmarks we used (SVD++, GRALS, and MGCNN). For other benchmarks, we refer you to their github implementations: IGMC, GraphRec, NGCF, F-EAE, GC-MC, NNMF.

E. results.py - Print table of metrics after running models.py.

Data

We release the processed dataset in our paper from the Yelp data challenge.

data/datasets - Standardized datasets.

data/raw_data - Unprocessed datasets.

data/results - Saved metrics, hyperparameters, and models.

Reference

If you use this code as part of your research, please cite the following paper:

@article{leng2020interpretable,
  title={Interpretable recommender system with heterogeneous information: A geometric deep learning perspective},
  author={Leng, Yan and Ruiz, Rodrigo and Dong, Xiaowen and Pentland, Alex}
}

About

Multi-Graph Graph Attention Network (MG-GAT) from "Y. Leng, R. Ruiz, X. Dong, and A. Pentland, Interpretable Recommender System With Heterogeneous Information: A Geometric Deep Learning Perspective"


Languages

Language:Python 97.2%Language:Perl 1.5%Language:Shell 1.3%