gephi / gephi-plugins

Repository for Gephi Plugins maintained by the team. Each plugin has it's branch.
269 stars 620 forks source link

leiden-modularity-plugin: Crashes when filters are active? #216

Open deklanw opened 4 years ago

deklanw commented 4 years ago

@vtraag

Environment: Windows. v0.9.2.

The plugin works fine when I haven't applied any filters. If I apply a filter and run it it stops immediately, there is no popup window, and I see Leiden algorithm 0 in the panel on the right. If I try to run it again I see a spinner and the program becomes unresponsive. I have to close with Task Manager

vtraag commented 4 years ago

Thanks for reporting the issue! I will look into it.

@eduramiba, feel free to assign me the issue (if that is possible).

deklanw commented 4 years ago

@vtraag Awesome, thanks for the quick reply.

While I have your attention... I have a question (I'm an amateur at this). It seems that at a certain point of resolution and lower I just get 1 cluster. Why would that be?

Example of some test runs of a graph with 1.2k nodes and 69k edges, 1000 iterations, 20 restarts.

Resolution Clusters Quality
0.5 217 0.072
0.4 163 0.110
0.3 125 0.160
0.2 89 0.232 
0.15 72 0.285
0.13 65 0.310
0.12 52 0.324
0.11 61 0.338
0.1 55 0.354 
0.095 61 0.362
0.09 62 0.371
0.085 53 0.380
0.08 53 0.389
0.07 55 0.414
0.065 52 0.427
0.06 50 0.442
0.055 46 0.458
0.05 41 0.479 (too much one cluster starts here and below)
0.04 46 0.539
0.03 49 0.612
0.02 33 0.711 (basically all one cluster)
0.01 1 0.845

Starting at about 0.05 resolution, a single cluster dominates almost the entire graph (despite there being 41 clusters). Eventually, at 0.01 there is a single cluster

vtraag commented 4 years ago

This is normal behaviour. For a certain resolution parameter lower than some threshold, you will always find a single cluster.

This is probably not the most relevant clustering, so you might want to use one of the higher resolution parameters. What resolution parameter(s) is/are best suited for your particular analysis depends on the context and your needs. Feel free to simply mail me, then we don't clutter this issue.

mbastian commented 2 years ago

Hi @vtraag I can also reproduce this issue. I've assigned it to you but I'm happy to assist if needed.

This is the exception I received

java.lang.IllegalArgumentException: Last element of firstNeighborIndices array must be equal to nEdges.
    at cwts.networkanalysis.Network.checkIntegrity(Network.java:1199)
    at cwts.networkanalysis.Network.<init>(Network.java:1374)
    at cwts.networkanalysis.Network.<init>(Network.java:275)
    at cwts.networkanalysis.gephiplugin.RunClustering.execute(RunClustering.java:111)
    at org.gephi.statistics.StatisticsControllerImpl.execute(StatisticsControllerImpl.java:163)
    at org.gephi.statistics.StatisticsControllerImpl$3.run(StatisticsControllerImpl.java:150)