【发布时间】:2014-05-31 19:32:19
【问题描述】:
我有以下数据集:
firm_id firm_id_
1 2
1 4
1 5
2 1
2 3
3 2
3 6
4 1
4 5
4 6
5 4
5 7
6 3
...
例如,此数据表明 firm_id = 1 直接连接到 firm_id = 2、4 和 5,并且间接连接(在两条路径内)到 firm_id = 3、6 和 7。我可以使用诸如networkx 之类的Python 包来构建公司连接的网络。现在,我想使用光谱聚类(我猜这是正确的方法)根据距离(分隔每个公司的边数)形成集群,并查看这些集群如何相互连接。
我将首先定义上述数据的邻接矩阵 W。然后我使用 其中 dist 是公司 i 和公司 j 之间的距离,c 是 W 中每个元素的尺度参数,然后计算拉普拉斯矩阵(例如,参见 here)。
现在我的问题是 Spectral Clustering 能否为我提供每个集群之间的链接以及集群之间的距离(多少条边将集群分开)?我正在考虑使用this,Python 中的scikit 包,但我不知道如何使用sklearn.cluster 生成集群之间的链接。
【问题讨论】:
标签: python network-programming cluster-analysis spectral