基于节点属性对连接节点进行聚类



我需要找到n个集群,这样每个集群的密度都在阈值50以上。我有639个节点,平均密度分配给节点属性。是否有一种算法可以遍历节点并在属性密度上合并节点,这样我就可以得到n个平均密度在50左右并高于阈值的所述集群(应该包括连接的节点(。每个节点可以连接到具有到所述节点的连接的节点。CCD_ 1为20。python中的代码片段将不胜感激,因为我是python和数据科学的新手。

该图显示了蓝色的节点和黑色的连接

贪婪算法如下所示:

SET maximum size of the clusters to 639 / n
ORDER nodes in descending density
LOOP
Start new cluster
Move node of greatest density to cluster from ordered list
LOOP
Calculate average density of cluster
IF average > 50
LOOP over nodes in order of increasing density
IF node connected to cluster
MOVE node into cluster
break
ELSE
LOOP over nodes in order of decreasing density
IF node connected to cluster
MOVE node into cluster
break
IF cluster size == maximum
BREAK

最新更新