I was running Node2Vec and I noticed there is a "_check_graph" method on the base Estimator class that calls an "_ensure_integrity" method, which creates self-loops for every node, modifying the original input graph. Shouldn't this be done on a copy of the graph instead? Or maybe remove those at the end of training if you wouldn't want to store both in memory. Is there a reason you would want to keep the self-loops after computing the embeddings?
I was running Node2Vec and I noticed there is a "_check_graph" method on the base Estimator class that calls an "_ensure_integrity" method, which creates self-loops for every node, modifying the original input graph. Shouldn't this be done on a copy of the graph instead? Or maybe remove those at the end of training if you wouldn't want to store both in memory. Is there a reason you would want to keep the self-loops after computing the embeddings?