python-louvain 패키지를 살펴볼 수 있습니다. 이를 통해 best_partition
함수를 사용하여 그래프로 커뮤니티를 감지 할 수 있습니다. 기능 설명에서 :
예를 들어 karate_club_graph
에 대한 커뮤니티를 계산합니다. (내 그래프 가중 가장자리를 가지고 있지 않더라도 나는 weight
키워드 best_partition
를 사용하는 것이 주 - 귀하의 경우 기능을 사용하는 방법 난 그냥 보여주는거야.)
import networkx as nx
import community
G = nx.karate_club_graph()
p = community.best_partition(G, weight='weight')
print(p)
출력 :
{0: 0, 1: 0, 2: 0, 3: 0, 4: 1, 5: 1, 6: 1, 7: 0, 8: 2, 9: 0, 10: 1, 11: 0, 12: 0, 13: 0, 14: 2, 15: 2, 16: 1, 17: 0, 18: 2, 19: 0, 20: 2, 21: 0, 22: 2, 23: 3, 24: 3, 25: 3, 26: 2, 27: 3, 28: 3, 29: 2, 30: 2, 31: 3, 32: 2, 33: 2}
출력은 사전 (key = node, value = partition)입니다. 파티션은 0에서 k-1로 이동합니다. 1에서 k로 이동해야하는 경우 사전 값을 +1로 지정할 수 있습니다.
for k, v in p.items():
p[k] = v + 1
당신은 [community strucutre] (https://en.wikipedia.org/wiki/Community_structure) 감지에 대해 이야기하고 있습니까? – Peaceful