상위 차수 중심성을 가진 노드 찾기
이 연습 문제에서는 네트워크에서 가장 연결이 많은 학생들에게 흥미로운 특징이 있는지 더 깊이 살펴보려고 해요. 먼저, 차수 중심성이 가장 높은 학생들의 집합을 찾아볼 거예요. 이 결과는 다음 플로팅 연습에서 사용할 예정입니다.
이 연습은 강의의 일부입니다
Python 중급 네트워크 분석
연습 안내
- 상위 5개의 고유한 차수 중심성 점수를 구하세요. 이를 위해
sorted()함수를 사용하되, 첫 번째 인수로는 G의 차수 중심성 값의 집합(고유한 중심성만 원하므로)을 전달하고, 두 번째 인수로는 내림차순 정렬을 위해reverse=True를 사용하세요. 상위 5개 점수로 제한하려면 문장의 끝에 적절한 슬라이싱을 추가하세요. 또한 반환된 차수 중심성 결과에는 반드시.values()를 사용해야 함을 기억하세요! - 상위 5개 전체 차수 중심성을 가진 노드 목록을 만드세요. 이를 위해:
nx.degree_centrality(G)에서.items()메서드를 사용해 차수 중심성 딕셔너리를 순회하세요.dc가top_dcs에 있다면 노드n을top_connected리스트에 추가하세요.
- 상위 5개 차수 중심성 점수를 공유하는 노드의 수(
top_connected)를len()으로 구해 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Get the top 5 unique degree centrality scores: top_dcs
top_dcs = ____(set(____), reverse=True)[____:____]
# Create list of nodes that have the top 5 highest overall degree centralities
top_connected = []
for n, dc in ____:
if ____ in ____:
____
# Print the number of nodes that share the top 5 degree centrality scores
print(____)