Skip to content

Multi‑label vertex classification on a protein‑protein interaction network generating a powerful embedding of its graph - @ Oracle Labs, Politecnico di Milano

License

Notifications You must be signed in to change notification settings

riccardocadei/GraphML-Contest-2019-Oracle-PoliMI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abstract

Our task is to perform multi-label vertex classification on a PPI network to predict labels of unseen proteins and generate a powerful embedding of the graph in a low dimensional space. The protein-protein interaction network is represented with 24 different subgraphs ( 20 are used as training set and 4 as test set ). Each one of our proteins has a binary feature vector, a list of undirected edges which explicit the connections with other proteins and a binary label vector that represents its role ( if the protein is in the training set ). We build our embeddings trying to get the best information out of connections, features and labels.

Key Issue

Coming up with a model that is able to capture graph structural information is really difficult. There is no straightforward way to encode this high-dimensional, non-Euclidean information into a feature vector. In order to extract structural information from graphs, traditional approaches often rely on summary graph statistics or carefully engineered features to measure local neighborhood structures (pre processing). However, these approaches are limited because these hand-engineered features are inflexible, i.e. they cannot adapt during the learning process, and designing these features can be a time-consuming and expensive process.

Recent Developments

The idea behind the latest approaches is to learn a mapping that encodes each node as a point in a low-dimensional vector space . Embedding should capture the graph topology, vertex-to-vertex relationship, and other relevant information about graphs, subgraphs, and vertices. Therefore, this mapping is constructed carefully so that geometric relationships in the embedding space reflect the structure of the original graph.

Our Approach

Throughout the repository :

  • We'll implement Node2Vec, GCN, GraphSAGE and GAT combining them with our ideas to emphasize the importance of encoding graph structural information together with features in order to achieve a good vertex classification.
  • We'll show that in this specific setting the dataset is not good enough to create a good predictor and that it is possibile to achieve the same performance with statistical methods alone ( not taking into account the graph and the features). We must not forget that Machine Learning is not magic!

Not enough?

Our thinking process is carefully explained in the main jupyter notebook, you should go take a look. Enjoy!

About

Multi‑label vertex classification on a protein‑protein interaction network generating a powerful embedding of its graph - @ Oracle Labs, Politecnico di Milano

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published