시작하기무료로 시작하기

다른 파티션의 공유 노드

추천 시스템 개념을 쌓기 위해, 기초부터 시작해 볼게요. 여기서는 이분 그래프에서 사용자 유사도를 계산하는 데 초점을 맞춥니다.

여러분의 과제는 두 노드를 받아서, 두 사용자 노드가 공유하는 저장소 노드의 집합을 반환하는 함수를 작성하는 것입니다.

이 연습 문제에서는 .neighbors(), set(), .intersection() 메서드와 함수가 유용할 거예요. 물론 여러분이 정의할 shared_partition_nodes 함수도 함께요!

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

Python 중급 네트워크 분석

강의 보기

연습 안내

  • 그래프 G, node1, node2의 3개 인자를 받아 node1node2 사이에 공유되는 노드의 집합을 반환하는 shared_partition_nodes() 함수를 작성하세요.
    • assert 문과 'bipartite' 키워드를 사용해 node1node2가 같은 파티션에 속하는지 확인하세요.
    • node1의 이웃 노드를 구해 nbrs1에 저장하세요.
    • node2의 이웃 노드를 구해 nbrs2에 저장하세요.
  • 집합의 .intersection() 메서드를 사용해 nbrs1nbrs2의 겹치는 부분을 계산하세요.
  • shared_partition_nodes() 함수와 len() 함수를 함께 사용해 사용자 'u7909''u2148' 사이의 공통 저장소 개수를 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

def ____:
    # Check that the nodes belong to the same partition
    assert G.nodes[____]['bipartite'] == G.nodes[____]['bipartite']

    # Get neighbors of node 1: nbrs1
    nbrs1 = ____
    # Get neighbors of node 2: nbrs2
    nbrs2 = ____

    # Compute the overlap using set intersections
    overlap = ____(____).____(____)
    return overlap

# Print the number of shared repositories between users 'u7909' and 'u2148'
print(____(____))
코드 편집 및 실행