Improve results of Label Propagation Algorithm

I applied Label Propagation on my data. My goal is to make an article recommendation engine with the LPA.

I have the following results :

I have 1670 articles and I would like to have less clusters.

What can I do to improve the results, is it possible to make several iterations ? Is it also possible to visualize the results of the LPA ?

This appears to be converging after a single iteration -- which suggests LPA isn't actually doing anything.

There are a couple of issues that stand out:

  • You're using seedLabel in the nodeQuery, but you're passing seedProperty: 'seed_label', so there's effectively no seed label being used. And,
  • Your node queries subsets your graph to only articles that have n.familyComponent=0 so I suspect you're generating a very disconnected subgraph (you can check by running WCC on the same cypher projection).

Try looking into those, and I suspect you'll get it sorted out pretty quickly :slight_smile:

Thank you for your answer. I tried to correct it but the problem remains. The LPA is doing nothing. Even without seed labels the LPA doesn't work.

My data looks like this: data

I have 530 articles and 842 keywords.

The article nodes have id property and title content property.
The keyword nodes have id property and keyword property.

The relationship APPEARS_IN has weights property. Weights are the number of time that the keyword appears in an article.

The data in Neo4j looks like this: I have a big network at the center and the other articles are not connected to others. That's why I ran wcc before applying LPA. I wanted to only keep the big network with the wcc (at the center of the image) and next apply LPA. I don't know if it is the good method.

If I make a zoom on the big network it looks like this:

Maybe my request is not okay, I tried to project a bipartite graph to a monopartite graph (I also tried firstly a similarity algorithm before applying LPA) because I have the following relationships:


I don't know where I made the mistakes.