diyang / GRAPH-NODE-RECOGINITION-R

MxNet implementation of Node Recognition in Large Scale Network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node Recognition in Large Scale Network

This repo contains an MXNet implementation of this state of the art Graph Convolutional Neural Network with R.

Requirements

All examples use MxNet 0.10.1 library to perform deep learning, and use igraph 1.2.2 to store graph regarding data. To install the library, please type following commands in R Studio

install.package("mxnet") 
install.package("igraph")

Running the code

Download & extract the training data:

Currently the examples in this directory are tested on the CORA dataset. The GraphSAGE model assumes that node features are available.

The dataset can be found in example_data folder, and data are in CSV format

The following is the description of the dataset:

The Cora dataset consists of 2708 scientific publications classified into one of seven classes. The citation network consists of 5429 links. Each publication in the dataset is described by a 0/1-valued word vector indicating the absence/presence of the corresponding word from the dictionary. The dictionary consists of 1433 unique words. The README file in the dataset provides more details.

Results & Comparison

  • Please run main.R
  • This MXNet implementation achieves NLL = 0.780 after 100 epochs on the validation dataset

Hyperparameters

The default arguments in main.R achieve equivalent performance to the published results. For other datasets, the following hyper parameters provide a good starting point:

  • K = 2
  • hidden num = {20,20}
  • random neighbour sampling = {20,10}
  • learning rate = 0.005
  • Dropout after every layer = 0.3
  • Epochs = 100+

About

MxNet implementation of Node Recognition in Large Scale Network

License:GNU General Public License v3.0


Languages

Language:R 99.5%Language:Python 0.5%