Home

Awesome

Intro

This repo contains the code and data for our paper Learning Geo-Contextual Embeddings for Commuting Flow Prediction, published at the Thirty-Fourth AAAI Conference on Artificial Intelligence (2020). Click here for the full paper.

GMEL makes use of land use information, such as NYC's PLUTO, and commuting trips information to study the problem of commuting flow prediction using graph neural network.

GMEL Framework

Table of contents

Prerequisites

The code is written using Python. The following Python packages are required:

Python 3.x
Pytorch 1.4.0
DeepGraphLibrary 0.4.1
Scikit-Learn 0.21.3
Numpy 1.17.2
Pandas 0.25.1
numpy_indexed

Other tools:

Tensorboard

Structure

code directory contains all the code to run the experiments:

data directory contains all the data described in our paper.

Usage

Step 1. Set your working director to code

Step 2. Run python 01train_GMEL.py. This might take a long time if you add more experimental settings. While training, you can check the running status in code/log or open tensorboard setting logdir to code/runs to check the gradient descent process, etc.

Step 3. Having finished Step 2, run python 02train_Predictor.py. When finished running the code, you can check the code/outputs directory for the testing performance of each GMEL setting. If you want to explore the model, code/models stores all the models. If you are interested in the generated embeddings, you can check code/embeddings to get the embeddings using Numpy.

Citation

@inproceedings{liu2020gmel,
  title={Learning Geo-Contextual Embeddings for Commuting Flow Prediction},
  author={Liu, Zhicheng and Miranda, Fabio and Xiong, Weiting and Yang, Junyan and Wang, Qiao and Silva, Claudio T.},
  booktitle={Proceedings of the Thirty-Fourth AAAI Conference on Artificial Intelligence},
  year={2020}
}

Contact

Please send any questions you might have about the code and/or the algorithm to zhi-cheng-liu AT seu.edu.cn (remove dash - in the address).