GraphSAGE icon indicating copy to clipboard operation
GraphSAGE copied to clipboard

Supervised vs Unsupervised GNN

Open John-Almardeny opened this issue 5 years ago • 1 comments

Hi, I apologize if my question is naive. However, I have a simple example that I want to implement: 5 Computers in a network, each has a vector of only two features f = [CPU, RAM]. Each computer has no particular class, and my goal is to predict ahead the CPU and RAM usage of a certain (or all) computer in future after a certain time (i.e. t + 1 ) based on the CPU and RAM readings history and the device topology (assume computers are connected differently every certain time).


1. Is it doable with this library ?

2. Do ye recommend Supervised or Unsupervised type?

3. If possible please some hints about the general approach that I should follow, particularity, how to invoke the predict method? Because for example, say in Scikit-learn library, there is an explicit predict() function that one can use after training the model.


Any help is very much appreciated, Many Thanks.

John-Almardeny avatar Jun 28 '19 14:06 John-Almardeny

Yes it'd be a dynamic model. At training time, you take in consecutive time step t and t+1. The node labels are just the usage at t+1, and inputs are the graphs at time t.

You can use supervised learning, as mentioned above.

You only need to do this consecutive step prediction, and no need for scikit-learn. But note that if your label (usage) is a real value, you need to change the loss from cross entropy / max margin for classification to MSE or other losses for regression.

RexYing avatar Sep 18 '19 19:09 RexYing