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

КОМЕНТАРІ • 12

  • @SebastianM1995
    @SebastianM1995 Рік тому

    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!

    • @philippbrunenberg
      @philippbrunenberg  Рік тому +1

      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.

  • @elias3009
    @elias3009 Рік тому +1

    Can you apply a trained model to only specific nodes in the graph or does it always predict on the whole graph?

    • @philippbrunenberg
      @philippbrunenberg  Рік тому

      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. 😉

  • @siddharthashrestha86
    @siddharthashrestha86 Рік тому

    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?

    • @philippbrunenberg
      @philippbrunenberg  8 місяців тому

      Well, yes, that should be possible as long as the schema doesn't change.

  • @karndeepsingh
    @karndeepsingh Рік тому

    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??

    • @philippbrunenberg
      @philippbrunenberg  Рік тому +1

      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

  • @iAbraRecogniton
    @iAbraRecogniton Рік тому

    Main thing ive learnt from this video is link prediction techniques are still very primitive

    • @philippbrunenberg
      @philippbrunenberg  8 місяців тому

      Well, I wouldn't say primitive. I'd say they are actually quite powerful. However, the GDS is still working on adding new features.

  • @vernonz8897
    @vernonz8897 Рік тому

    ᵖʳᵒᵐᵒˢᵐ ☺️