AnacletoLAB / grape

🍇 GRAPE is a Rust/Python Graph Representation Learning library for Predictions and Evaluations
MIT License
502 stars 38 forks source link

Bipartite Graph predict proba with undirected graph #19

Closed arpelletier closed 1 year ago

arpelletier commented 1 year ago

Hi. I noticed the performance metrics are not identical when using predict_proba_bipartite_graph_from_edge_node_types, when I swap the source and destination nodes. The graph used as input is an undirected graph, which I would expect would yield similar predictions for the same edge type regardless of which is source and destination nodes. Is this behavior intentional?

Below are the version of the software I am running currently: grape==0.1.17 embiggen==0.11.27 ensmallen==0.8.14

LucaCappelletti94 commented 1 year ago

Hello!

First of all, could you attach a script to reproduce the issue? Secondly, could you update to 🍇 0.1.24?

Best, Luca

arpelletier commented 1 year ago

Hello Luca. I updated to grape 0.1.24, but I am still seeing this behavior. I'm working on a reproducible script without having to attach our custom knowledge graph. Could you recommend an appropriate easily sharable graph to use with predict_proba_bipartite_graph_from_edge_node_types? I am using this function to predict edges between two node types in our knowledge graph (e.g. node_type_1 and node_type_2) and when swapping which node type is source and which is destination, the evaluation metrics are different. Thank you!

image

LucaCappelletti94 commented 1 year ago

Hi! You can just go with Cora, which comes with seven node types. It should be enough as a test case.

You can import it by running:

from grape.datasets.linqs import Cora

So far, I cannot be more specific in understanding the nature of the error, as most edge embedding employed will be symmetrical if the graph is undirected. Is the graph directed?

LucaCappelletti94 commented 1 year ago

If you prefer, we are available to chat and get to the bottom of this either on Telegram or Discord.

arpelletier commented 1 year ago

Hi Luca. I figured it out. I tried reproducing on Cora dataset; turns out it was an issue with my script and not with grape. Thank you very much for your help!

LucaCappelletti94 commented 1 year ago

No problem, feel free to reopen if needed.