All Projects → CrickWu → GCMC

CrickWu / GCMC

Licence: MIT License
Code for Graph Convolutional Matrix Factorization for Bipartite Edge Prediction

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to GCMC

matrix-completion
Lightweight Python library for in-memory matrix completion.
Stars: ✭ 94 (+95.83%)
Mutual labels:  collaborative-filtering, matrix-completion
PyTorch-GNNs
The implement of GNN based on Pytorch
Stars: ✭ 121 (+152.08%)
Mutual labels:  graph-convolutional-networks
Extremely-Fine-Grained-Entity-Typing
PyTorch implementation of our paper "Imposing Label-Relational Inductive Bias for Extremely Fine-Grained Entity Typing" (NAACL19)
Stars: ✭ 89 (+85.42%)
Mutual labels:  graph-convolutional-networks
Person-Recommendation-Algorithms
推荐算法个人学习笔记以及代码实战
Stars: ✭ 50 (+4.17%)
Mutual labels:  collaborative-filtering
walklets
A lightweight implementation of Walklets from "Don't Walk Skip! Online Learning of Multi-scale Network Embeddings" (ASONAM 2017).
Stars: ✭ 94 (+95.83%)
Mutual labels:  edge-prediction
BPR MPR
BPR, Bayesian Personalized Ranking (BPR), extremely convenient BPR & Multiple Pairwise Ranking
Stars: ✭ 77 (+60.42%)
Mutual labels:  collaborative-filtering
pb-gcn
Code for the BMVC paper (http://bmvc2018.org/contents/papers/1003.pdf)
Stars: ✭ 32 (-33.33%)
Mutual labels:  graph-convolutional-networks
Spectral-Designed-Graph-Convolutions
Codes for "Bridging the Gap Between Spectral and Spatial Domains in Graph Neural Networks" paper
Stars: ✭ 39 (-18.75%)
Mutual labels:  graph-convolutional-networks
BARS
Towards open benchmarking for recommender systems https://openbenchmark.github.io/BARS
Stars: ✭ 157 (+227.08%)
Mutual labels:  collaborative-filtering
kGCN
A graph-based deep learning framework for life science
Stars: ✭ 91 (+89.58%)
Mutual labels:  graph-convolutional-networks
TotalLeastSquares.jl
Solve many kinds of least-squares and matrix-recovery problems
Stars: ✭ 23 (-52.08%)
Mutual labels:  matrix-completion
NeuralDater
ACL 2018: Dating Documents using Graph Convolution Networks
Stars: ✭ 60 (+25%)
Mutual labels:  graph-convolutional-networks
graph-nvp
GraphNVP: An Invertible Flow Model for Generating Molecular Graphs
Stars: ✭ 69 (+43.75%)
Mutual labels:  graph-convolutional-networks
STEP
Spatial Temporal Graph Convolutional Networks for Emotion Perception from Gaits
Stars: ✭ 39 (-18.75%)
Mutual labels:  graph-convolutional-networks
TAGCN
Tensorflow Implementation of the paper "Topology Adaptive Graph Convolutional Networks" (Du et al., 2017)
Stars: ✭ 17 (-64.58%)
Mutual labels:  graph-convolutional-networks
Learned-Turbo-type-Affine-Rank-Minimization
Code for Learned Turbo-ype Affine Rank Minimization
Stars: ✭ 4 (-91.67%)
Mutual labels:  matrix-completion
Awesome-Machine-Learning-Papers
📖Notes and remarks on Machine Learning related papers
Stars: ✭ 35 (-27.08%)
Mutual labels:  collaborative-filtering
Literatures-on-GNN-Acceleration
A reading list for deep graph learning acceleration.
Stars: ✭ 50 (+4.17%)
Mutual labels:  graph-convolutional-networks
ProteinGCN
ProteinGCN: Protein model quality assessment using Graph Convolutional Networks
Stars: ✭ 88 (+83.33%)
Mutual labels:  graph-convolutional-networks
CoVA-Web-Object-Detection
A Context-aware Visual Attention-based training pipeline for Object Detection from a Webpage screenshot!
Stars: ✭ 18 (-62.5%)
Mutual labels:  graph-convolutional-networks

Graph Convolutional Matrix Completion for Bipartite Edge Prediction

Paper

Graph Convolutional Matrix Completion for Bipartite Edge Prediction - Yuexin Wu, Hanxiao Liu and Yiming Yang KDIR 2018. (Best Student Paper)

The framework tries to solve the biparite edge prediction (BEP) problem via decomposing the middle edges as initial node vectors which are later passed through graph convolution neural networks for better hidden representations to the final prediction.

framework

Dependencies

Python == 2.7, lasagne == 0.1, theano == 0.8, numpy, scipy, joblib, scikit-learn, nose-parameterized

Use Anaconda

If you have Anaconda, you can install the dependencies using the following command: conda create --name gcmc --file requirement.txt

How to Run

Preprocess

Uncompress data using 7z x data.7z.

Use GPU

If you have installed cuda support, add THEANO_FLAGS='device=cuda0,floatX=float32' before executing the commnad. In experiments, multi-core cpus are more preferable (with --n_jobs option).

Simple Example

python src/run.py --dataset cmu --layers 80 70 5 --iters 1000 --pos_up_ratio 10. --fold 1 --save_log --save_model --binary_graph

This will create logs and model files in save folder. The final result is saved in gcmc.log.

See python src/run.py --help for more option explanations.

Full Experiment in Paper

NOTICE: This may take LONG time. Consider running single experiments first to estimate time.

General --iters 1000 should be enough for all datasets. In our experiment, the exact parameters can be found in run_all.sh.

Execute the following command to run on all datasets.

bash run_all.sh

Citation

If you find the repository useful for your publication, please consider citing our paper:

@conference{wu2018graph,
author={Yuexin Wu and Hanxiao Liu and Yiming Yang},
title={Graph Convolutional Matrix Completion for Bipartite Edge Prediction},
booktitle={Proceedings of the 10th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management - Volume 1: KDIR,},
year={2018},
pages={51-60},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006900000510060},
isbn={978-989-758-330-8},
}

For any questions and comments, please send your email to [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].