有没有一种方法可以计算图中特定节点周围的群集?

时间:2019-07-30 18:51:38

标签: python cluster-analysis networkx partitioning graph-tool

我有一个图,已经计算了其向量的PageRank,现在想为具有最高PageRank的20个节点计算聚类。到目前为止,我正在使用graph-tool和networkx。

是否有已知的实用方法?

1 个答案:

答案 0 :(得分:0)

由于您的问题有点含糊,我将假设您正在寻找一种获取文档集合的中央集群的方法,请尝试回答。在这张图片上,中央的5个项目簇将是[B,C,E,F,D]

page rank

用伪造的伪代码,会是这样吗?

n = 0
center = node.with_highest_rank()
cluster = {center: {}}
current_connexion = center
while n<20:
    main_connexion = node.citing_node_with_higher_rank(current_connexion).filter(not in cluster.keys())
    cluster["center"] = {main_connexion: {}}
    n += 1
    # if ranks are higher on connexion level 2 than the next node on level 1, look down
    if node.citing_node_with_higher_rank(main_connexion).rank > node.citing_node_with_higher_rank(current_connexion).rank:
        current_connexion = main_connexion    

建议:在堆栈溢出时,公众通常是开发人员。开发人员需要具体的用例,具体的代码和精确的定义。如果您有更一般的理论/科学问题(通常在这里是图论),请查看其他社区,例如Computer Sciences