|
10 | 10 | "Modularity maximization methods are a prominent class of algorithms in community detection that aim to discover partitions of a network by optimizing a specific quality function called modularity.\n", |
11 | 11 | "<div style=\"background-color: #e6ffe6; padding: 0px; border-radius: 5px;\">\n", |
12 | 12 | " \n", |
13 | | - "**NOTE:** You can find a more detailed explanation of **modularity** [here](./modularityZ.ipynb).\n", |
| 13 | + "_Note:_ You can find a more detailed explanation of **modularity** [here](./modularityZ.ipynb).\n", |
14 | 14 | "\n", |
15 | 15 | "</div>\n", |
16 | 16 | "\n", |
|
68 | 68 | "These methods don't require you to pre-specify the number of communities. Instead, you choose the final partition by cutting the dendrogram at a particular level, which defines the number and size of the resulting communities.\n", |
69 | 69 | "<div style=\"background-color: #e6ffe6; padding: 0px; border-radius: 5px;\">\n", |
70 | 70 | " \n", |
71 | | - "**NOTE:** You can find a more detailed explanation of **hierarchical clustering** [here](./hierarchical_clustering.ipynb).\n", |
| 71 | + "_Note:_ You can find a more detailed explanation of **hierarchical clustering** [here](./hierarchical_clustering.ipynb).\n", |
72 | 72 | "\n", |
73 | 73 | "</div>\n", |
74 | 74 | "\n", |
|
145 | 145 | "\n", |
146 | 146 | "- _When Simplicity and Interpretability of the Core Mechanism are Valued:_ The underlying principle of labels propagating and consolidating within dense regions is intuitive. For applications where a straightforward, graph-driven clustering method is preferred over complex optimization functions, LPA is a strong candidate.\n", |
147 | 147 | "\n", |
148 | | - "- _When Non-Overlapping Communities are Acceptable (or Required):_ The basic LPA assigns each node to exactly one community. If your domain or problem requires distinct, mutually exclusive groups, LPA naturally provides this. (Note: Variants exist for overlapping communities, but the standard LPA does not produce them.)\n" |
| 148 | + "- _When Non-Overlapping Communities are Acceptable (or Required):_ The basic LPA assigns each node to exactly one community. If your domain or problem requires distinct, mutually exclusive groups, LPA naturally provides this. (_Note:_ Variants exist for overlapping communities, but the standard LPA does not produce them.)\n" |
149 | 149 | ] |
150 | 150 | }, |
151 | 151 | { |
|
285 | 285 | "data": { |
286 | 286 | "text/html": [ |
287 | 287 | "<!--| quarto-html-table-processing: none -->\n", |
288 | | - "<table id=\"itables_75c81ab6_ca9f_4959_8b2f_473b29b55ef3\"><tbody><tr>\n", |
| 288 | + "<table id=\"itables_2086ef8c_9ee2_4b2c_9427_c3e259664091\"><tbody><tr>\n", |
289 | 289 | " <td style=\"vertical-align:middle; text-align:left\">\n", |
290 | 290 | " <a href=https://mwouts.github.io/itables/><svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n", |
291 | 291 | "width=\"64\" viewBox=\"0 0 500 400\" style=\"font-family: 'Droid Sans', sans-serif;\">\n", |
|
383 | 383 | "<script type=\"module\">\n", |
384 | 384 | " const { ITable, jQuery: $ } = await import(window._datatables_src_for_itables_2_4_4);\n", |
385 | 385 | "\n", |
386 | | - " document.querySelectorAll(\"#itables_75c81ab6_ca9f_4959_8b2f_473b29b55ef3:not(.dataTable)\").forEach(table => {\n", |
| 386 | + " document.querySelectorAll(\"#itables_2086ef8c_9ee2_4b2c_9427_c3e259664091:not(.dataTable)\").forEach(table => {\n", |
387 | 387 | " if (!(table instanceof HTMLTableElement))\n", |
388 | 388 | " return;\n", |
389 | 389 | "\n", |
390 | | - " let dt_args = {\"scrollY\": \"300px\", \"scrollCollapse\": true, \"fixedColumns\": true, \"pageLength\": -1, \"layout\": {\"topStart\": \"pageLength\", \"topEnd\": \"search\", \"bottomStart\": \"info\", \"bottomEnd\": \"paging\"}, \"classes\": [\"display\", \"nowrap\"], \"text_in_header_can_be_selected\": true, \"style\": {\"table-layout\": \"auto\", \"width\": \"auto\", \"margin\": \"auto\", \"caption-side\": \"bottom\"}, \"order\": [], \"table_html\": \"<table><thead>\\n <tr style=\\\"text-align: right;\\\">\\n \\n <th>Method</th>\\n <th>Function in igraph (Python)</th>\\n <th>Directed Graph Support</th>\\n <th>Weighted Graph Support</th>\\n <th>Signed Graph Support</th>\\n <th>Sparse Graph Performance</th>\\n <th>Dense Graph Performance</th>\\n <th>Deterministic</th>\\n </tr>\\n </thead></table>\", \"data_json\": \"[[\\\"Edge Betweenness\\\", \\\"`Graph.community_edge_betweenness()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c (Slow for large)\\\", \\\"\\\\u2705\\\"], [\\\"Fast-Greedy\\\", \\\"`Graph.community_fastgreedy()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705 (Very efficient)\\\", \\\"\\\\u2705 (Can handle)\\\", \\\"\\\\u274c\\\"], [\\\"Fluid Communities\\\", \\\"`Graph.community_fluid_communities()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u274c (weights ignored)\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Infomap\\\", \\\"`Graph.community_infomap()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Label Propagation\\\", \\\"`Graph.community_label_propagation()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Leading Eigenvector\\\", \\\"`Graph.community_leading_eigenvector()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\"], [\\\"Leiden\\\", \\\"`Graph.community_leiden()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Louvain (Multilevel)\\\", \\\"`Graph.community_multilevel()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Spinglass\\\", \\\"`Graph.community_spinglass()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c (Slower)\\\", \\\"\\\\u274c\\\"], [\\\"Walktrap\\\", \\\"`Graph.community_walktrap()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\"], [\\\"Optimal Modularity\\\", \\\"`Graph.community_optimal_modularity()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u274c (Small graphs only)\\\", \\\"\\\\u274c (Small graphs only)\\\", \\\"\\\\u2705\\\"], [\\\"Voronoi\\\", \\\"`Graph.community_voronoi()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\"]]\"};\n", |
| 390 | + " let dt_args = {\"scrollY\": \"300px\", \"scrollCollapse\": true, \"fixedColumns\": true, \"pageLength\": -1, \"layout\": {\"topStart\": \"pageLength\", \"topEnd\": \"search\", \"bottomStart\": \"info\", \"bottomEnd\": \"paging\"}, \"text_in_header_can_be_selected\": true, \"classes\": [\"display\", \"nowrap\"], \"style\": {\"table-layout\": \"auto\", \"width\": \"auto\", \"margin\": \"auto\", \"caption-side\": \"bottom\"}, \"order\": [], \"table_html\": \"<table><thead>\\n <tr style=\\\"text-align: right;\\\">\\n \\n <th>Method</th>\\n <th>Function in igraph (Python)</th>\\n <th>Directed Graph Support</th>\\n <th>Weighted Graph Support</th>\\n <th>Signed Graph Support</th>\\n <th>Sparse Graph Performance</th>\\n <th>Dense Graph Performance</th>\\n <th>Deterministic</th>\\n </tr>\\n </thead></table>\", \"data_json\": \"[[\\\"Edge Betweenness\\\", \\\"`Graph.community_edge_betweenness()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c (Slow for large)\\\", \\\"\\\\u2705\\\"], [\\\"Fast-Greedy\\\", \\\"`Graph.community_fastgreedy()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705 (Very efficient)\\\", \\\"\\\\u2705 (Can handle)\\\", \\\"\\\\u274c\\\"], [\\\"Fluid Communities\\\", \\\"`Graph.community_fluid_communities()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u274c (weights ignored)\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Infomap\\\", \\\"`Graph.community_infomap()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Label Propagation\\\", \\\"`Graph.community_label_propagation()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Leading Eigenvector\\\", \\\"`Graph.community_leading_eigenvector()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\"], [\\\"Leiden\\\", \\\"`Graph.community_leiden()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Louvain (Multilevel)\\\", \\\"`Graph.community_multilevel()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\"], [\\\"Spinglass\\\", \\\"`Graph.community_spinglass()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c (Slower)\\\", \\\"\\\\u274c\\\"], [\\\"Walktrap\\\", \\\"`Graph.community_walktrap()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\"], [\\\"Optimal Modularity\\\", \\\"`Graph.community_optimal_modularity()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u274c (Small graphs only)\\\", \\\"\\\\u274c (Small graphs only)\\\", \\\"\\\\u2705\\\"], [\\\"Voronoi\\\", \\\"`Graph.community_voronoi()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\"]]\"};\n", |
391 | 391 | " new ITable(table, dt_args);\n", |
392 | 392 | " });\n", |
393 | 393 | "</script>\n" |
|
0 commit comments