Partitions the graph into groups using edge betweenness centrality. The groups are
detected by progressively removing the edge with the highest betweenness centrality from
the graph.
Settings
Things to Try
Determine the desired minimum or maximum number of clusters. The algorithm will try to
respect these values (if possible), unless the graph is disconnected.
Determine whether or not edge direction or edge costs should be taken under
consideration. Edge costs can be determined through edge labels. If edge costs are
enabled, for those edges that do not have a label, their edge length will be
considered.
Create/Remove nodes and edges to see how the result of the algorithm is influenced.
k-Means Clustering
Partitions the graph into k clusters based on the node positions such
that their distance from the cluster's mean (centroid) is minimized (refer to the
crosses). The result is presented by means of a Voronoi diagram.
Settings
Things to Try
Determine the distance metric to be used.
Determine the desired maximum number of clusters or the maximum number of
iterations. The maximum number of iterations corresponds to the number of iterations
that are allowed to be performed even if the convergence has not been achieved.
Create new nodes or move/remove the existing ones to see how the result of the
algorithm is influenced.
Hierarchical Clustering
Partitions the graph into clusters based on hierarchical clustering. For the
clustering an agglomerative strategy is applied, i.e., a bottom-up approach according
to which at the beginning each node belongs to its own cluster. At each step pairs of
clusters are merged while moving up to the hierarchy. The dissimilarity between
clusters is determined based on the given linkage criterion and the given node
distances. The algorithm continues until all nodes belong to the same cluster. The
result is a dendrogram which can be cut based on a given cut-off value.
Settings
Things to Try
Determine the linkage criterion that defines how the distance between sets of nodes
will be measured.
Move the red line of the dendrogram to determine a new cut-off value and examine the
resulting clusters.
Hover a dendrogram to see which nodes of the original graph belong to this cluster
and vice-versa.
Create new nodes or move/remove the existing ones to see how the result of the
algorithm is influenced.
Biconnected Components
Partitions the graph by analyzing its biconnected components such that nodes that
belong to the same group are biconnected. Nodes that belong to multiple biconnected
components will be assigned to exactly one of these components.
Things to Try
Create/Remove nodes or edges to see how the result of the algorithm is influenced.
Louvain Modularity
Partitions the graph by using the Louvain Modularity algorithm.
The algorithm starts by assigning each node to its own community. Then, iteratively
tries to construct communities by moving nodes from their current community to another
until the modularity is locally optimized. At the next step, the small communities
found are merged to a single node and the algorithm starts from the beginning until
the modularity of the graph cannot be further improved.
Things to Try
Create/Remove nodes or edges to see how the result of the algorithm is influenced.
Label Propagation
Partitions the graph by using the Label Propagation algorithm.
Label Propagation iteratively assigns a label to each node. The label of a node is set
to the most frequent label among its neighbors. If there are multiple candidates the
algorithm randomly chooses one of them. After applying the algorithm, all nodes with
the same label belong to the same community.
Things to Try
Create/Remove nodes or edges to see how the result of the algorithm is influenced.
Clustering Demo
This demo showcases a selection of clustering algorithms. The algorithms presented are the
following:
Edge Betweenness Clustering
k-Means Clustering
Hierarchical Clustering
Biconnected Components Clustering
Louvain Modularity Clustering
Label Propagation Clustering
Things to Try
Browse the Clustering Algorithms.
Explore the options of the algorithms (if any).
Modify the graphs by adding/removing nodes and edges or by moving graph elements.