SEAL
SEAL copied to clipboard
New Nodes => New Edges
Hello, if I have new nodes on my graph, ie, no observed links for it, and I want tp predict the possible links for these new nodes, how to process ?
If u want to do training, I think u can add the node in the networkx.graph object before the training process. Else if u only want to do inference, u need to additionally enclose the subgraph.
In your case, both subgraph and embedding features are not applicable to new nodes (the enclosing subgraph is empty with only the target nodes; while embeddings also do not generalize to new nodes). The only usable feature is explicit attribute. In this extreme cold-start setting, SEAL reduces to only predict links based on explicit features of two nodes.
So if I understood SEAL works only on static graphs? meaning, it can only predict the links in the network I trained on? And if I want to predict the links of new added nodes (after training) based only on the explicit features,how to process? Thank you in advance
No. SEAL is an inductive method. After training SEAL on a given network, you can apply it to other networks, since the learned graph structure features that work on one network might also work on others. However, SEAL is not designed for predicting new added nodes. New added nodes have not established connections with existing nodes, thus SEAL cannot learn any useful information from the enclosing subgraph and node embeddings. Only node attributes are useful.
If you want to predict the links of new added nodes based only on the explicit features, I would suggest just training a simple classifier (logistic regression, MLP etc.) on the two explicit features. Neither embedding-based methods nor SEAL can deal with such extreme cold start cases.