我根据余弦相似度矩阵构建了一个图形,并按如下方式应用“Louvain”社区检测。
余弦相似度矩阵的样本:
array([[ 1. , 0.40824829, 0.40824829],
[ 0.40824829, 1. , 0.33333333],
[ 0.40824829, 0.33333333, 1. ]])
# S as adjacency matrix (sims is my cosine similarity matrix)
G = nx.from_numpy_matrix(sims)
# Louvain method for community detection
partition = community.best_partition(G)
现在我想计算所有已识别社区的质心(作为平均值)(例如,使用np.average)并找到每个社区最接近质心的数据点(基于余弦相似度值)。
由于我是这些社区检测算法的新手,我仍然在弄清楚如何做到这一点。请帮帮我。