시작하기무료로 시작하기

상위 차수 중심성을 가진 노드 찾기

이 연습 문제에서는 네트워크에서 가장 연결이 많은 학생들에게 흥미로운 특징이 있는지 더 깊이 살펴보려고 해요. 먼저, 차수 중심성이 가장 높은 학생들의 집합을 찾아볼 거예요. 이 결과는 다음 플로팅 연습에서 사용할 예정입니다.

이 연습은 강의의 일부입니다

Python 중급 네트워크 분석

강의 보기

연습 안내

  • 상위 5개의 고유한 차수 중심성 점수를 구하세요. 이를 위해 sorted() 함수를 사용하되, 첫 번째 인수로는 G의 차수 중심성 값의 집합(고유한 중심성만 원하므로)을 전달하고, 두 번째 인수로는 내림차순 정렬을 위해 reverse=True를 사용하세요. 상위 5개 점수로 제한하려면 문장의 끝에 적절한 슬라이싱을 추가하세요. 또한 반환된 차수 중심성 결과에는 반드시 .values()를 사용해야 함을 기억하세요!
  • 상위 5개 전체 차수 중심성을 가진 노드 목록을 만드세요. 이를 위해:
    • nx.degree_centrality(G)에서 .items() 메서드를 사용해 차수 중심성 딕셔너리를 순회하세요.
    • dctop_dcs에 있다면 노드 ntop_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(____)
코드 편집 및 실행