As explained confirmation from all node2vec papers, this algorithm is designed for 1 graph. It create specific embedding for each graph, so it is not possible for training node2vec model on a graph, then use trained model for another graphs. In other words, if i have 2 graphs G and H, i need 2 embedding models:
Then we have a new graph J. Because this graph share some characteristics with graph G and H, i want to use node2vec embedding model from both model G and H to get embedding on J without training a new node2vec model for graph J. I have 2 questions:
In theory, can we train node2vec for multi graphs, then use embedding for another (not trained) graph? What is possible solution?
I am thinking about a solution: Disjoin all training graphs into a graph then create node2vec model on union graph, then use this model to predict non-trained graph. Is it correct ?
As explained confirmation from all node2vec papers, this algorithm is designed for 1 graph. It create specific embedding for each graph, so it is not possible for training node2vec model on a graph, then use trained model for another graphs. In other words, if i have 2 graphs
G
andH
, i need 2 embedding models:Then we have a new graph J. Because this graph share some characteristics with graph G and H, i want to use node2vec embedding model from both model G and H to get embedding on J without training a new node2vec model for graph J. I have 2 questions:
In theory, can we train node2vec for multi graphs, then use embedding for another (not trained) graph? What is possible solution?
I am thinking about a solution: Disjoin all training graphs into a graph then create node2vec model on union graph, then use this model to predict non-trained graph. Is it correct ?
union_graph = disjoint_union(G, H)
union_node2vec = Node2Vec(union_graph)
union_model = union_node2vec.fit()
embedded_J = union_model.predict(J)
If you have any other approaches please share your ideas. I have just started in graph theory and algorithms 2 months ago