Online Meetup: Link Prediction with Neo4j

kudos-5
(Karin Wolok) #1

Link prediction explores the problem of predicting new relationships in a graph based on the topology that already exists.

This has been an area of research for many years, and in the last month we've introduced link prediction algorithms to the Neo4j Graph Algorithms library.

In this session Amy and Mark explain the problem in more detail, describe the approaches that can be taken, and the challenges that have to be addressed.

We finish by going through a worked example showing how to apply these approaches using Graph Algorithms and the popular sciki-learn machine learning library.

Presenters: @AmyH & @mark.needham

4 Likes

(Mike Oaten) #2

@AmyH @mark.needham @karin.wolok
enjoyed the presentation just now. Here's a good paper on fraud prediction using graph analysis, specifically applying to time-weighted bipartite graphs (which I think you mentioned you would be moving on to shortly?)

0 Likes

(Antonio Cicchetti) #3

Indeed a very interesting meetup, thanks! I am using a combination of similarity and community detection algorithms, since as Mark noted at the end of the video, the current community algorithms work only if you try to build-up groups of same node-type linked by a certain relationship. In general I have noticed that there is a less powerful support for complex relations between nodes. Already for similarity algorithms, if you have relationships with properties it gets very complicated to run the algorithms. E.g., imagine to have (RESEARCHER)-[:IS_RELATED {role:author | reviewer | editor}]-(PAPER)-[:INCLUDES]-(RESEARCH_TOPIC) and would like to elicit relationships between the researcher role and the research topic. I guess that at now the only feasible way is to "flatten" :IS_RELATED into three separate relationships between RESEARCHER and PAPER.

0 Likes

(Oleg ) #4

Thank you for your meetups! :) I have a question/request... is/would it be possible to create a Bayesian network from data using Neo4j? Something Weka and BayesiaLab do is create a network from data on which you're able to set evidence/observation on a node and see the probabilities change for all the other nodes, showing which are the most influential on the observed node. I've searched for Bayesian network and Neo4j but there's not much available. Thank you again!

0 Likes

(Subhodip Pal) #5

@mark.needham
@AmyH
Thanks for the wonderful session on Link Prediction. The material/algorithm covered in the session is very helpful to recommend /predict similar Items/Friend in an already connected network but if we are starting with absolutely unconnected data how should we link similar items based on their properties . For example if there is a database of Food items , how would we determine looking into the ingredients that Milk is closely related to Skim Milk and Almond Milk but distantly related to Yogurt and not at all related to Peanuts , so that we can then use something like Adamic Ader to close the triangle between Skim Milk and Almond Milk

0 Likes

(The Graph Giraffe) #6

Thanks for submitting!

I've added a tag that allows your blog to be displayed on the community home page!

0 Likes

(Duane Nickull) #7

Thank you both for sharing! I am currently working on a prototype for similar purposes.

0 Likes