Link Predictions with Neo4j GDS explained (with code example)
Вставка
- Опубліковано 22 лип 2024
- Let's explore the Neo4j GDS Link Prediction pipeline with a practical use case. We will understand all steps required in such a pipeline and cover common pitfalls. Along the way, we will use a publicly available dataset to implement a prediction use case (Citation Network Dataset).
00:00 Introduction
01:03 Prepare, load and transform the dataset in Neo4j
07:51 The link prediction pipeline: Steps explained
18:33 Implementation of the pipeline
30:27 Considerations on limitations of the API
35:38 Conclusions
Link to blog article:
/ understanding-neo4j-gd...
Dataset used:
Citation Network Dataset, www.aminer.org/citation, License: CC BY-NC-SA 4.0
Hi Philipp, how would you go about looking at relationships between different node labels? Now you only look at relationships between authors, but what if you would want to predict links between authors and articles (for example)? Thanks!
As of now the built-in pipelines do not support heterogeneous graphs. That’s simply due to the fact of assembling the link vectors. They need to be constructed from the same features on both sides of the link. So, I think your best option is to build a custom prediction solution, which accesses graph data and/or does preprocessing in the graph database.
Can you apply a trained model to only specific nodes in the graph or does it always predict on the whole graph?
I was wondering the same. As far as I understood, that is not possible at the moment. The only think you can do is to use a different graph projection in the prediction phase. However, the feature generation will be limited to that as well. Hope that clarifies your question. 😉
Hello Philipp, i was also trying link predicition with neo4j and was looking for a way so that we can store trained model and use them in future with complete new data that was not present on our graph database during training. Do you know any way to achieve it?
Well, yes, that should be possible as long as the schema doesn't change.
Hi Philipp, Thanks for this amazing video.
I would like to prepare the Graph data for my own dataset. How I can prepare the links and associations on my data? Is their any library that can help me to prepare the graph data??
Hey Karndeep, I don’t think there’s a specific library for this. However, there’s a Neo4j plug-in to load json files.
neo4j.com/labs/apoc/4.4/overview/apoc.load/apoc.load.jsonParams/#_reading_from_a_file
Main thing ive learnt from this video is link prediction techniques are still very primitive
Well, I wouldn't say primitive. I'd say they are actually quite powerful. However, the GDS is still working on adding new features.
ᵖʳᵒᵐᵒˢᵐ ☺️
Thanks for your comment!